From fa8130ce58a0228aa8bf619efd24e64c38addf85 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Tue, 27 Dec 2016 17:54:12 +0530 Subject: [PATCH 01/13] Change --- .idea/misc.xml | 2 +- .../cpm/com/gskmtorange/MainActivity.java | 30 ++++--------------- 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index b15ecee..b8dc4d6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -41,7 +41,7 @@ - + diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index 6f562ec..f57039c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -46,7 +46,7 @@ public class MainActivity extends AppCompatActivity webView = (WebView) findViewById(R.id.webview); - String url = preferences.getString(CommonString.KEY_NOTICE_BOARD_LINK,""); + String url = preferences.getString(CommonString.KEY_NOTICE_BOARD_LINK, ""); user_name = preferences.getString(CommonString.KEY_USERNAME, null); //user_type = preferences.getString(CommonString.KEY_USER_TYPE, null); @@ -54,7 +54,7 @@ public class MainActivity extends AppCompatActivity webView.getSettings().setJavaScriptEnabled(true); - if(!url.equals("")){ + if (!url.equals("")) { webView.loadUrl(url); @@ -79,7 +79,7 @@ public class MainActivity extends AppCompatActivity View headerView = LayoutInflater.from(this).inflate(R.layout.nav_header_main, navigationView, false); - TextView tv_username = (TextView) headerView.findViewById(R.id.nav_user_name); + TextView tv_username = (TextView) headerView.findViewById(R.id.nav_user_name); //tv_usertype = (TextView) headerView.findViewById(R.id.nav_user_type); tv_username.setText(user_name); @@ -133,31 +133,13 @@ public class MainActivity extends AppCompatActivity } else if (id == R.id.nav_upload) { - } - else if (id == R.id.nav_geotag) { + } else if (id == R.id.nav_geotag) { - - - - - - - - - } - else if (id == R.id.nav_export) { - - - - - } - - - else if (id == R.id.nav_exit) { + } else if (id == R.id.nav_exit) { } else if (id == R.id.nav_services) { - }else if (id == R.id.nav_setting) { + } else if (id == R.id.nav_setting) { } From 1a810172d52c4541b70baf967f875299631806ef Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 10:13:12 +0530 Subject: [PATCH 02/13] Change --- GSKMTOrange/src/main/AndroidManifest.xml | 29 +- .../cpm/com/gskmtorange/MainActivity.java | 6 +- .../gsk_dailyentry/CategoryListActivity.java | 166 +++++ .../CategoryWisePerformanceActivity.java | 208 ++++++ .../gsk_dailyentry/DailyDataMenuActivity.java | 190 +++++ .../MSL_AvailabilityActivity.java | 686 ++++++++++++++++++ .../xmlGetterSetter/CategoryGetterSetter.java | 27 + .../CategoryWisePerformaceGetterSetter.java | 57 ++ .../DailyDataMenuGetterSetter.java | 27 + .../MSL_AvailabilityGetterSetter.java | 33 + .../src/main/res/drawable/category.png | Bin 0 -> 7997 bytes .../src/main/res/drawable/competition.png | Bin 0 -> 8003 bytes .../src/main/res/drawable/primary_bay.png | Bin 0 -> 8503 bytes .../src/main/res/drawable/promotions.png | Bin 0 -> 5452 bytes .../src/main/res/drawable/save_icon.png | Bin 0 -> 10339 bytes .../main/res/drawable/secondary_display.png | Bin 0 -> 9561 bytes .../src/main/res/drawable/touch_points.png | Bin 0 -> 8147 bytes .../res/layout/activity_category_list.xml | 33 + .../activity_category_wise_performance.xml | 33 + .../res/layout/activity_daily_data_menu.xml | 33 + .../res/layout/activity_msl__availability.xml | 33 + .../src/main/res/layout/category_menu_row.xml | 63 ++ .../main/res/layout/content_category_list.xml | 35 + .../content_category_wise_performance.xml | 36 + .../res/layout/content_daily_main_menu.xml | 35 + .../res/layout/content_msl__availability.xml | 19 + .../main/res/layout/daily_main_menu_row.xml | 63 ++ .../layout/item_category_wise_performance.xml | 133 ++++ .../main/res/layout/list_group_opening.xml | 42 ++ .../main/res/layout/list_item_openingstk.xml | 463 ++++++++++++ GSKMTOrange/src/main/res/values/strings.xml | 5 + 31 files changed, 2450 insertions(+), 5 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryWisePerformanceActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryGetterSetter.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DailyDataMenuGetterSetter.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityGetterSetter.java create mode 100644 GSKMTOrange/src/main/res/drawable/category.png create mode 100644 GSKMTOrange/src/main/res/drawable/competition.png create mode 100644 GSKMTOrange/src/main/res/drawable/primary_bay.png create mode 100644 GSKMTOrange/src/main/res/drawable/promotions.png create mode 100644 GSKMTOrange/src/main/res/drawable/save_icon.png create mode 100644 GSKMTOrange/src/main/res/drawable/secondary_display.png create mode 100644 GSKMTOrange/src/main/res/drawable/touch_points.png create mode 100644 GSKMTOrange/src/main/res/layout/activity_category_list.xml create mode 100644 GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml create mode 100644 GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml create mode 100644 GSKMTOrange/src/main/res/layout/activity_msl__availability.xml create mode 100644 GSKMTOrange/src/main/res/layout/category_menu_row.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_category_list.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_daily_main_menu.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_msl__availability.xml create mode 100644 GSKMTOrange/src/main/res/layout/daily_main_menu_row.xml create mode 100644 GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml create mode 100644 GSKMTOrange/src/main/res/layout/list_group_opening.xml create mode 100644 GSKMTOrange/src/main/res/layout/list_item_openingstk.xml diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 8bb92d0..6934a67 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -18,6 +18,7 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> + + + + - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index f57039c..0691070 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -1,11 +1,10 @@ package cpm.com.gskmtorange; +import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Bitmap; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; import android.view.LayoutInflater; import android.view.View; import android.support.design.widget.NavigationView; @@ -22,6 +21,7 @@ import android.widget.ImageView; import android.widget.TextView; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.gsk_dailyentry.CategoryListActivity; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @@ -140,7 +140,7 @@ public class MainActivity extends AppCompatActivity } else if (id == R.id.nav_services) { } else if (id == R.id.nav_setting) { - + startActivity(new Intent(MainActivity.this, CategoryListActivity.class)); } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 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 new file mode 100644 index 0000000..8e7364b --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java @@ -0,0 +1,166 @@ +package cpm.com.gskmtorange.gsk_dailyentry; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryGetterSetter; + +public class CategoryListActivity extends AppCompatActivity { + RecyclerView recyclerView; + ArrayList categoryList; + CategoryListAdapter adapter; + TextView txt_categoryName; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_category_list); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + txt_categoryName = (TextView) findViewById(R.id.txt_categoryName); + txt_categoryName.setText("Category List"); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + + recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + categoryList = new ArrayList<>(); + + CategoryGetterSetter data = new CategoryGetterSetter(); + data.setCategory_name("Oral Health"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new CategoryGetterSetter(); + data.setCategory_name("Nutritionals"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new CategoryGetterSetter(); + data.setCategory_name("Wellness"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + adapter = new CategoryListAdapter(CategoryListActivity.this, categoryList); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), 2)); + } + + public class CategoryListAdapter extends RecyclerView.Adapter { + private LayoutInflater inflator; + List list = Collections.emptyList(); + Context context; + + public CategoryListAdapter(CategoryListActivity context, List list) { + inflator = LayoutInflater.from(context); + this.list = list; + this.context = context; + } + + @Override + public CategoryListAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int i) { + View view = inflator.inflate(R.layout.category_menu_row, parent, false); + MyViewHolder holder = new MyViewHolder(view); + return holder; + } + + @Override + public void onBindViewHolder(MyViewHolder holder, int position) { + final CategoryGetterSetter categoryData = list.get(position); + + holder.categoryName.setText(categoryData.getCategory_name()); + holder.categoryIcon.setImageResource(categoryData.getCategory_img()); + + holder.lay_menu.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(CategoryListActivity.this, CategoryWisePerformanceActivity.class); + intent.putExtra("categoryName", categoryData.getCategory_name()); + startActivity(intent); + } + }); + + + } + + + @Override + public int getItemCount() { + return list.size(); + } + + class MyViewHolder extends RecyclerView.ViewHolder { + TextView categoryName; + ImageView categoryIcon; + LinearLayout lay_menu; + + public MyViewHolder(View itemView) { + super(itemView); + categoryName = (TextView) itemView.findViewById(R.id.categoryName); + categoryIcon = (ImageView) itemView.findViewById(R.id.categoryIcon); + lay_menu = (LinearLayout) itemView.findViewById(R.id.lay_menu); + } + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + if (id == android.R.id.home) { + finish(); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryWisePerformanceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryWisePerformanceActivity.java new file mode 100644 index 0000000..07eeef2 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryWisePerformanceActivity.java @@ -0,0 +1,208 @@ +package cpm.com.gskmtorange.gsk_dailyentry; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.view.LayoutInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; + +public class CategoryWisePerformanceActivity extends AppCompatActivity { + TextView txt_categoryName; + RecyclerView recyclerView; + + String categoryName = ""; + + ArrayList categoryWisePerformanceList; + CategoryWisePerformaceAdapter adapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_category_wise_performance); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + txt_categoryName = (TextView) findViewById(R.id.txt_categoryName); + + categoryName = getIntent().getStringExtra("categoryName"); + + txt_categoryName.setText("CategoryWise Performance " + categoryName); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { +/* Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show();*/ + Intent intent = new Intent(CategoryWisePerformanceActivity.this, DailyDataMenuActivity.class); + intent.putExtra("categoryName", categoryName); + startActivity(intent); + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + + categoryWisePerformanceList = new ArrayList<>(); + CategoryWisePerformaceGetterSetter data = new CategoryWisePerformaceGetterSetter(); + + data.setPeriod("Period"); + data.setSos("SOS"); + data.setT2p("T2P"); + data.setPromo("Promo"); + data.setMsl_availability("MSL Availability"); + data.setOss("OSS"); + categoryWisePerformanceList.add(data); + + data = new CategoryWisePerformaceGetterSetter(); + data.setPeriod("LTM"); + data.setSos("75"); + data.setT2p("0"); + data.setPromo("0"); + data.setMsl_availability("25"); + data.setOss("55"); + categoryWisePerformanceList.add(data); + + data = new CategoryWisePerformaceGetterSetter(); + data.setPeriod("MTM"); + data.setSos("75"); + data.setT2p("0"); + data.setPromo("0"); + data.setMsl_availability("25"); + data.setOss("55"); + categoryWisePerformanceList.add(data); + + data = new CategoryWisePerformaceGetterSetter(); + data.setPeriod("RTM"); + data.setSos("75"); + data.setT2p("0"); + data.setPromo("0"); + data.setMsl_availability("25"); + data.setOss("55"); + categoryWisePerformanceList.add(data); + + data = new CategoryWisePerformaceGetterSetter(); + data.setPeriod("LTM"); + data.setSos("75"); + data.setT2p("0"); + data.setPromo("0"); + data.setMsl_availability("25"); + data.setOss("55"); + categoryWisePerformanceList.add(data); + + data = new CategoryWisePerformaceGetterSetter(); + data.setPeriod("MTM"); + data.setSos("75"); + data.setT2p("0"); + data.setPromo("0"); + data.setMsl_availability("25"); + data.setOss("55"); + categoryWisePerformanceList.add(data); + + data = new CategoryWisePerformaceGetterSetter(); + data.setPeriod("RTM"); + data.setSos("75"); + data.setT2p("0"); + data.setPromo("0"); + data.setMsl_availability("25"); + data.setOss("55"); + categoryWisePerformanceList.add(data); + + adapter = new CategoryWisePerformaceAdapter(CategoryWisePerformanceActivity.this, categoryWisePerformanceList); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + } + + public class CategoryWisePerformaceAdapter extends RecyclerView.Adapter { + Context context; + private LayoutInflater inflator; + List list = Collections.emptyList(); + + public CategoryWisePerformaceAdapter(Context context, List list) { + inflator = LayoutInflater.from(context); + this.list = list; + this.context = context; + } + + @Override + public CategoryWisePerformaceAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int i) { + View view = inflator.inflate(R.layout.item_category_wise_performance, parent, false); + CategoryWisePerformaceAdapter.MyViewHolder holder = new CategoryWisePerformaceAdapter.MyViewHolder(view); + return holder; + } + + @Override + public void onBindViewHolder(CategoryWisePerformaceAdapter.MyViewHolder holder, int position) { + final CategoryWisePerformaceGetterSetter categoryData = list.get(position); + + holder.txt_period.setText(categoryData.getPeriod()); + holder.txt_sos.setText(categoryData.getSos()); + holder.txt_t2p.setText(categoryData.getT2p()); + holder.txt_promo.setText(categoryData.getPromo()); + holder.txt_msl_availability.setText(categoryData.getMsl_availability()); + holder.txt_oss.setText(categoryData.getOss()); + } + + @Override + public int getItemCount() { + return list.size(); + } + + class MyViewHolder extends RecyclerView.ViewHolder { + TextView txt_period, txt_sos, txt_t2p, txt_promo, txt_msl_availability, txt_oss; + LinearLayout lay_menu; + + public MyViewHolder(View itemView) { + super(itemView); + lay_menu = (LinearLayout) itemView.findViewById(R.id.lay_menu); + txt_period = (TextView) itemView.findViewById(R.id.txt_period); + txt_sos = (TextView) itemView.findViewById(R.id.txt_sos); + txt_t2p = (TextView) itemView.findViewById(R.id.txt_t2p); + txt_promo = (TextView) itemView.findViewById(R.id.txt_promo); + txt_msl_availability = (TextView) itemView.findViewById(R.id.txt_msl_availability); + txt_oss = (TextView) itemView.findViewById(R.id.txt_oss); + } + } + + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + if (id == android.R.id.home) { + finish(); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } +} 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 new file mode 100644 index 0000000..8823aa7 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java @@ -0,0 +1,190 @@ +package cpm.com.gskmtorange.gsk_dailyentry; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.xmlGetterSetter.DailyDataMenuGetterSetter; + +public class DailyDataMenuActivity extends AppCompatActivity { + RecyclerView recyclerView; + ArrayList categoryList; + DailyDataMenuAdapter adapter; + TextView txt_categoryName; + String categoryName = ""; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_daily_data_menu); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + txt_categoryName = (TextView) findViewById(R.id.txt_categoryName); + + categoryName = getIntent().getStringExtra("categoryName"); + + txt_categoryName.setText("Daily Data Menu - " + categoryName); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + + categoryList = new ArrayList<>(); + + DailyDataMenuGetterSetter data = new DailyDataMenuGetterSetter(); + data.setCategory_name("MSL Availability"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name("Stock & Facing"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name("T2P Compliance"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name("Additional Visibility"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name("Promo Compliance"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name("Competition Visibility"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name("Competition Promo"); + data.setCategory_img(R.drawable.category); + categoryList.add(data); + + adapter = new DailyDataMenuAdapter(DailyDataMenuActivity.this, categoryList); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new GridLayoutManager(getApplicationContext(), 2)); + } + + public class DailyDataMenuAdapter extends RecyclerView.Adapter { + private LayoutInflater inflator; + List list = Collections.emptyList(); + Context context; + + public DailyDataMenuAdapter(Context context, List list) { + inflator = LayoutInflater.from(context); + this.list = list; + this.context = context; + } + + @Override + public DailyDataMenuAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int i) { + View view = inflator.inflate(R.layout.daily_main_menu_row, parent, false); + DailyDataMenuAdapter.MyViewHolder holder = new DailyDataMenuAdapter.MyViewHolder(view); + return holder; + } + + @Override + public void onBindViewHolder(DailyDataMenuAdapter.MyViewHolder holder, int position) { + final DailyDataMenuGetterSetter dailyData = list.get(position); + + holder.categoryName.setText(dailyData.getCategory_name()); + holder.categoryIcon.setImageResource(dailyData.getCategory_img()); + + holder.lay_menu.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if (dailyData.getCategory_name().equalsIgnoreCase("MSL Availability")) { + Intent intent = new Intent(DailyDataMenuActivity.this, MSL_AvailabilityActivity.class); + intent.putExtra("categoryName", dailyData.getCategory_name()); + startActivity(intent); + } + + } + }); + } + + @Override + public int getItemCount() { + return list.size(); + } + + class MyViewHolder extends RecyclerView.ViewHolder { + TextView categoryName; + ImageView categoryIcon; + LinearLayout lay_menu; + + public MyViewHolder(View itemView) { + super(itemView); + categoryName = (TextView) itemView.findViewById(R.id.categoryName); + categoryIcon = (ImageView) itemView.findViewById(R.id.categoryIcon); + lay_menu = (LinearLayout) itemView.findViewById(R.id.lay_menu); + } + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + if (id == android.R.id.home) { + finish(); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } +} + diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java new file mode 100644 index 0000000..ea40d49 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java @@ -0,0 +1,686 @@ +package cpm.com.gskmtorange.gsk_dailyentry; + +import android.content.Context; +import android.graphics.Typeface; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.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.Button; +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.R; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter; + +public class MSL_AvailabilityActivity extends AppCompatActivity { + ExpandableListView expandableListView; + + ArrayList headerDataList; + ArrayList childDataList; + List hashMapListHeaderData; + HashMap> hashMapListChildData; + + ExpandableListAdapter adapter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_msl__availability); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); + + prepareList(); + adapter = new ExpandableListAdapter(this, hashMapListHeaderData, hashMapListChildData); + expandableListView.setAdapter(adapter); + + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + + expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + } + + @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; + } + }); + + } + + private void prepareList() { + headerDataList = new ArrayList<>(); + + + MSL_AvailabilityGetterSetter msl = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax header 1"); + msl.setMbq("6"); + msl.setAvailable("No"); + headerDataList.add(msl); + + msl = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax header 2"); + msl.setMbq("6"); + msl.setAvailable("No"); + headerDataList.add(msl); + + + hashMapListHeaderData = new ArrayList<>(); + hashMapListChildData = new HashMap<>(); + + if (headerDataList.size() > 0) { + + for (int i = 0; i < headerDataList.size(); i++) { + hashMapListHeaderData.add(headerDataList.get(i)); + + childDataList = new ArrayList<>(); + + MSL_AvailabilityGetterSetter msl1 = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax 1"); + msl.setMbq("6"); + msl.setAvailable("No"); + childDataList.add(msl1); + + msl1 = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax 2"); + msl.setMbq("6"); + msl.setAvailable("No"); + childDataList.add(msl1); + + /*msl1 = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax 3"); + msl.setMbq("6"); + msl.setAvailable("No"); + childDataList.add(msl1); + + msl1 = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax 4"); + msl.setMbq("6"); + msl.setAvailable("No"); + childDataList.add(msl1);*/ + + hashMapListChildData.put(hashMapListHeaderData.get(i), childDataList); + } + + } + + } + + 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) { + final MSL_AvailabilityGetterSetter headerTitle = (MSL_AvailabilityGetterSetter) getGroup(groupPosition); + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.list_group_opening, null, false); + } + + //final int position = convertView.getId(); + TextView txt_header = (TextView) convertView.findViewById(R.id.txt_Header); + ImageView img_camera = (ImageView) convertView.findViewById(R.id.img_camera); + RelativeLayout rel_header = (RelativeLayout) convertView.findViewById(R.id.rel_header); + + txt_header.setTypeface(null, Typeface.BOLD); + txt_header.setText(headerTitle.getBrandName()); + + /*img_camera.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String date = new Date().toLocaleString().toString(); + String TempDate = new Date().toLocaleString().toString().replace(' ', '_').replace(',', '_').replace(':', '-'); + + _pathforcheck = "Stock" + headerTitle.getBrand_cd() + "_" + store_cd + "_" + visit_date.replace("/", "") + getCurrentTime().replace(":", "") + ".jpg"; + child_position = groupPosition; + path = str + _pathforcheck; + + startCameraActivity(groupPosition); + } + }); + + if (!img1.equalsIgnoreCase("")) { + if (groupPosition == child_position) { + headerTitle.setImg_cam(img1); + img1 = ""; + } + } + + if (headerTitle.getImg_cam().equals("")) { + img_camera.setBackgroundResource(R.drawable.cam); + } else { + img_camera.setBackgroundResource(R.drawable.camtick); + } + + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + txt_header.setTextColor(getResources().getColor(R.color.red)); + } else { + txt_header.setTextColor(getResources().getColor(R.color.grey_dark)); + } + }*/ + + 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) { + MSL_AvailabilityGetterSetter childData = (MSL_AvailabilityGetterSetter) getChild(groupPosition, childPosition); + ViewHolder holder = null; + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.list_item_openingstk, null, false); + + holder = new ViewHolder(); + holder.cardView = (CardView) convertView.findViewById(R.id.card_view); + holder.txt_skuName = (TextView) convertView.findViewById(R.id.txt_skuName); + holder.ed_stock = (EditText) convertView.findViewById(R.id.ed_stock); + holder.ed_faceup = (EditText) convertView.findViewById(R.id.ed_faceup); + holder.lin_item = (LinearLayout) convertView.findViewById(R.id.lin_item); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + holder.txt_skuName.setText(childData.getBrandName()); + + /*if (childData.getFocus().equals("1")) { + holder.lin_item.setBackgroundColor(getResources().getColor(R.color.green)); + } else if (childData.getInno().equals("1")) { + holder.lin_item.setBackgroundColor(getResources().getColor(R.color.yellow)); + } + + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setSku_cd(childData.getSku_cd()); + holder.txt_skuName.setText(childData.getSku()); + + //MFD Visibility + if (childData.getMfd().equals("1")) { + holder.lin_oldest_MFD.setVisibility(View.VISIBLE); + holder.lin_latest_MFD.setVisibility(View.VISIBLE); + } else { + holder.lin_oldest_MFD.setVisibility(View.GONE); + holder.lin_latest_MFD.setVisibility(View.GONE); + } + + if (childData.getStock().equals("0")) { + holder.ed_faceup.setEnabled(false); + holder.btn_old_Date.setEnabled(false); + holder.btn_new_Date.setEnabled(false); + } else { + holder.ed_faceup.setEnabled(true); + holder.btn_old_Date.setEnabled(true); + holder.btn_new_Date.setEnabled(true); + } + + final ViewHolder finalHolder = holder; + holder.ed_stock.setOnFocusChangeListener(new View.OnFocusChangeListener() { + @Override + public void onFocusChange(View v, boolean hasFocus) { + final EditText caption = (EditText) v; + String edStock = caption.getText().toString(); + + if (!edStock.equals("")) { + String stock = edStock.replaceFirst("^0+(?!$)", ""); + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setStock(stock); + + if (edStock.equals("0")) { + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup("0"); + childData.setOldDate(""); + childData.setNewDate(""); + + finalHolder.ed_faceup.setEnabled(false); + finalHolder.btn_old_Date.setEnabled(false); + finalHolder.btn_new_Date.setEnabled(false); + } else { + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup(childData.getFaceup()); + finalHolder.ed_faceup.setEnabled(true); + finalHolder.btn_old_Date.setEnabled(true); + finalHolder.btn_new_Date.setEnabled(true); + } + } else { + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setStock(""); + finalHolder.ed_faceup.setEnabled(true); + finalHolder.btn_old_Date.setEnabled(true); + finalHolder.btn_new_Date.setEnabled(true); + } + } + }); + + holder.ed_stock.setText(_listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).getStock()); + + holder.ed_faceup.setOnFocusChangeListener(new View.OnFocusChangeListener() { + @Override + public void onFocusChange(View v, boolean hasFocus) { + final EditText caption = (EditText) v; + final String edFaceup = caption.getText().toString().replaceFirst("^0+(?!$)", ""); + + if (!childData.getStock().equals("")) { + if (!edFaceup.equals("")) { + if (Integer.parseInt(edFaceup) <= Integer.parseInt(childData.getStock())) { + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup(edFaceup); + } else { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("Faceup can not be greater than stock value") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } else { + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup(""); + } + } else { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("First fill the stock value") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } + }); + + holder.ed_faceup.setText(_listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).getFaceup()); + + + holder.btn_new_Date.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final Calendar c = Calendar.getInstance(); + mYear = c.get(Calendar.YEAR); + mMonth = c.get(Calendar.MONTH); + mDay = c.get(Calendar.DAY_OF_MONTH); + + // Launch Date Picker Dialog + DatePickerDialog dpd = new DatePickerDialog(OrderEntryActivity.this, + new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { + // Display Selected date in textbox + try { + if (childData.getOldDate().equals("")) { + String sDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; + SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); + + Date date1 = sdf.parse(sDate); + Date visitDate = sdf.parse(visit_date); + + if (date1.compareTo(visitDate) != 1) { + String date = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setNewDate(date); + + expListView.invalidateViews(); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("Latest Date can not be greater than the current date ") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); + Date oldDate = sdf.parse(childData.getOldDate()); + + String sDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; + Date newDate = sdf.parse(sDate); + Date visitDate = sdf.parse(visit_date); + + if (newDate.compareTo(oldDate) == -1) { + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("Latest Date can not be less than the oldest date ") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } else { + if (newDate.compareTo(visitDate) != 1) { + String date = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setNewDate(date); + + expListView.invalidateViews(); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("Latest Date can not be greater than the current date ") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } + , mYear, mMonth, mDay); + dpd.show(); + } + }); + + if (childData.getNewDate().equals("")) { + holder.txt_showNewDate.setText(""); + } else { + holder.txt_showNewDate.setText(childData.getNewDate()); + } + + holder.btn_old_Date.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final Calendar c = Calendar.getInstance(); + mYear = c.get(Calendar.YEAR); + mMonth = c.get(Calendar.MONTH); + mDay = c.get(Calendar.DAY_OF_MONTH); + + // Launch Date Picker Dialog + DatePickerDialog dpd = new DatePickerDialog(OrderEntryActivity.this, + new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { + // Display Selected date in textbox + try { + if (!childData.getNewDate().equals("")) { + + SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); + String sDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; + + Date date1 = sdf.parse(sDate);//pick date + Date date2 = sdf.parse(childData.getNewDate()); //latest date selected + Date visitDate = sdf.parse(visit_date);//current date + + if (date1.compareTo(visitDate) != 1) { //Compare Oldest Date and Current Date + + if (date1.compareTo(date2) != 1) { //Compare Oldest Date and Latest Date + String date = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; + _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setOldDate(date); + + expListView.invalidateViews(); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("Oldest Date can not be greater than the latest date ") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("Oldest Date can not be greater than the current date ") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); + builder.setMessage("First Select the Latest Date ") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + }, mYear, mMonth, mDay); + dpd.show(); + } + }); + + if (childData.getOldDate().equals("")) { + holder.txt_showOldDate.setText(""); + } else { + holder.txt_showOldDate.setText(childData.getOldDate()); + } + + + if (!checkflag) { + boolean tempflag = false; + + if (holder.ed_stock.getText().toString().equals("")) { + holder.ed_stock.setBackgroundColor(getResources().getColor(R.color.grey_background)); + holder.ed_stock.setHintTextColor(getResources().getColor(R.color.red)); + holder.ed_stock.setHint("Empty"); + tempflag = true; + } + + if (holder.ed_faceup.getText().toString().equals("")) { + holder.ed_faceup.setBackgroundColor(getResources().getColor(R.color.grey_background)); + holder.ed_faceup.setHintTextColor(getResources().getColor(R.color.red)); + holder.ed_faceup.setHint("Empty"); + tempflag = true; + } + + if (!holder.ed_stock.getText().toString().equals("0")) { + if (holder.txt_showOldDate.getText().toString().equals("")) { + holder.txt_showOldDate.setHintTextColor(getResources().getColor(R.color.red)); + holder.txt_showOldDate.setHint("Select Oldest MFD "); + } + } else if (holder.ed_stock.getText().toString().equals("0")) { + holder.txt_showOldDate.setHint(""); + } + + if (!holder.ed_stock.getText().toString().equals("0")) { + if (holder.txt_showNewDate.getText().toString().equals("")) { + holder.txt_showNewDate.setHintTextColor(getResources().getColor(R.color.red)); + holder.txt_showNewDate.setHint("Select Latest MFD "); + } + } else if (holder.ed_stock.getText().toString().equals("0")) { + holder.txt_showNewDate.setHint(""); + } + + if (tempflag) { + holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.red)); + } else { + holder.cardView.setCardBackgroundColor(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 { + EditText ed_stock, ed_faceup; + CardView cardView; + TextView txt_skuName, txt_showOldDate, txt_showNewDate; + LinearLayout lin_item, lin_latest_MFD, lin_oldest_MFD; + Button btn_old_Date, btn_new_Date; + //public MutableWatcher mWatcher; + //public int mYear, mMonth, mDay, mHour, mMinute; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + if (id == android.R.id.home) { + finish(); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryGetterSetter.java new file mode 100644 index 0000000..1674bc9 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryGetterSetter.java @@ -0,0 +1,27 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +/** + * Created by gagang on 22-12-2016. + */ + +public class CategoryGetterSetter { + + String category_name; + int category_img = -1; + + public String getCategory_name() { + return category_name; + } + + public void setCategory_name(String category_name) { + this.category_name = category_name; + } + + public int getCategory_img() { + return category_img; + } + + public void setCategory_img(int category_img) { + this.category_img = category_img; + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java new file mode 100644 index 0000000..ad875c1 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java @@ -0,0 +1,57 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +/** + * Created by gagang on 23-12-2016. + */ + +public class CategoryWisePerformaceGetterSetter { + String period, sos, t2p, promo, msl_availability, oss; + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getSos() { + return sos; + } + + public void setSos(String sos) { + this.sos = sos; + } + + public String getT2p() { + return t2p; + } + + public void setT2p(String t2p) { + this.t2p = t2p; + } + + public String getPromo() { + return promo; + } + + public void setPromo(String promo) { + this.promo = promo; + } + + public String getMsl_availability() { + return msl_availability; + } + + public void setMsl_availability(String msl_availability) { + this.msl_availability = msl_availability; + } + + public String getOss() { + return oss; + } + + public void setOss(String oss) { + this.oss = oss; + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DailyDataMenuGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DailyDataMenuGetterSetter.java new file mode 100644 index 0000000..f5f0a43 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DailyDataMenuGetterSetter.java @@ -0,0 +1,27 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +/** + * Created by gagang on 22-12-2016. + */ + +public class DailyDataMenuGetterSetter { + + String category_name; + int category_img = -1; + + public String getCategory_name() { + return category_name; + } + + public void setCategory_name(String category_name) { + this.category_name = category_name; + } + + public int getCategory_img() { + return category_img; + } + + public void setCategory_img(int category_img) { + this.category_img = category_img; + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityGetterSetter.java new file mode 100644 index 0000000..c4d96f2 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityGetterSetter.java @@ -0,0 +1,33 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +/** + * Created by gagang on 23-12-2016. + */ + +public class MSL_AvailabilityGetterSetter { + String brandName, mbq, available; + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getMbq() { + return mbq; + } + + public void setMbq(String mbq) { + this.mbq = mbq; + } + + public String getAvailable() { + return available; + } + + public void setAvailable(String available) { + this.available = available; + } +} diff --git a/GSKMTOrange/src/main/res/drawable/category.png b/GSKMTOrange/src/main/res/drawable/category.png new file mode 100644 index 0000000000000000000000000000000000000000..84bd621e7601324ee5feac5832732cab46ea35b5 GIT binary patch literal 7997 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 literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/drawable/primary_bay.png b/GSKMTOrange/src/main/res/drawable/primary_bay.png new file mode 100644 index 0000000000000000000000000000000000000000..a33b1dad802a20987efe5f40f99ef1abc4d32628 GIT binary patch literal 8503 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 literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/drawable/promotions.png b/GSKMTOrange/src/main/res/drawable/promotions.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9a5cad131829ecab9f746cdbc00751e403ccb5 GIT binary patch literal 5452 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 Uo9;5)_bZ^L^hB{z!SdaI0dAJR{{R30 literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/drawable/save_icon.png b/GSKMTOrange/src/main/res/drawable/save_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b3dbba53d17b66d2cf262c4b3ada2301bbab93 GIT binary patch literal 10339 zcmXw9c|26#|33Gc8Dnf?8M}-v6GF5~j5U=k$&##vNVXz7*AiN6k+fh`64^ttjwp(x zWXm?GP}c0b-|f@)H~-AM?%aFMbD!rq@AI5k>$CVMs0z+UIiGEr3M7tZa2My6nvXzuifj zVJYDjSfyWAeqP_kRpNu0E7%ZiaA4;n5D_aah=pMn17$=nWB+4i%QFAdJwHpgi|U%> zU~;&TWHN4x*Qoy#Br-;%v++`mHL=A}rXWs8XV)3TkkC>b%cgRj4OW*^vIfcO!zUkK zCJAzvRk(?qVIEO%#~eN0PR|<%X&VcedaC{xq_>{Bd|#UkVk>H;Wu&~}UBkANtSPg1 z_;m=F$DE4P1(PymJmnJ(1fp5xAM{IL$ z!d}M4Sf!A6&pcd9i^2~mod!G_!|u|LFDzaLvHw+dsE*1xDcEtfzv;*;2DX=eb(=Pbghy91vKs7vKa+>IC|?>>+FbDmw* zwN^mx%Cd6i%wiJXc?>l}_U3_gLy)}24J}NKznI4oB$jh6m}L?3d^2Ftkw^ED2)|ca z6k{SlL2RB3i76Y*EX7GSUI&kOp$)|gob#(gm52J2Ao;IN8R4_auk0@H0%o)cKLg>% z82cRAxD6Hece@8q4)3>*1v};Y_px1K536$3QbvZZLiuf@L^|a>CQSY>8L3UCk{qgC+&3OCF>?Fp*QPPZj~$SaW>T^RDX{V_DejikkP!bpdLVO36%tAhvHo)x7&a)X!IjyHQf2Nt zt*@>%9Pe)#!Zoy}v{uu=LE;6#x#6~VWFC3%+ittEi5qUH6Y|xXI8a*`u zaUeGyyj=7&8kAn$lezritl|NE5af`>se+uo4-r|&m;Sq3GF-gKG#d|i^T<4XD)tVQc6P~evuYr9(k%X3k4D(bj_^c{Wjhr2y7{2D~+u8ov;NzkqRdSL#Ysna){m^0X{emy0{ zO6^5y-pdrbTmUG$bl_igs)CBIVS#2j@D-d#xAatNKeYM6jAscp42!_U)-L_Ph_Tz0m z#Cn;q^zgseeA&Sr3zm2w|L0-|pP3FU7B_uwe4b~5Y6;HkV!a-kLo1k$W;~QXh@DwS zeIMxzBCFQ_^?00ShP2;({~m}u;bK{_5re#;;F>`~4eT-;g=a`@(37Ax(F46isOG4K zrFt8fCJWNjDZm*OLhHhPs2A%sd8=*vZCk?Ih5I{SfcBLbu;25%`pkg0Hq9tV5>uS4 zW`mkl^E5aTe6^0M`9pmdJpOq|3`0F8&8?qogJ%vEM`jL;DQ7OHduzvW(Tfg$tM#4q z6!(91h2i8iX8(`Rk}J%*;J7dn3>oWjv#h-Nn83mn+UBrW- zp=`1I@_&~b8&$Gm>9<-!j!%j(UAO6%GYXT1G-w!_?9cCeYO|NQl&GLTpDqc$ay`@L zp{VI8BPT@!=}}pUj=^cos0ZXn|Mj^bAk8#FUXa|m_ z_e+v0MJ`A{ih&+0ffnlshTYG7j2cQ$gpY|fVU>(l?Mv#fF@6>{)G|DHfeKpXjP44A zk%07ia!GCW;$QHu%!%*7GqAsul~H@Wk)4~mLoiqdsg5y*78d?jrgPlb1UJkW0W1*wDe%E;oGwy}_~_jjW4_8zJMrTNbPzFB>O#>%TRoqQYenQ`HRjDvUn zbv&7jaGVA*j0e7xf^_&k)Ktb>2Nojt9T@b3EByor2y@c9<1c4^x=AMA3W(M9cG8 zb}kS^ve*3Gm3S!;j6Qv_tn=gNki#De;6TUKsh9EgzZ{N3#-G)NGa2PQk?061>Ty=e z^!xV3?G_jPy|w@0LBHX5m7bRHzyT2~{YFd3Bcrer35L!j;3SoVSkxV%*ny*lbPKna zN|^_ymfYC6=nwB4`tfT-8+sx|-)#II@^36k`^{idTMgtvKYz?QjR%SL{y|73NS$M$ z{$lRP+9e_-NVll>a8{p@kVSgUU-KiO#iRL-Gcokm%|;#*AcC63ac;qA`cq#G46?(h zUrSl8M_XW{uwJd73(Ohq;J&OG-~}TrCXi(w*2`)sOgD;GBHTxkGZv;oX)rIMrOJh5 zg@s#MgA;5-x)m>Y6qg99m~R0}ZtKpSPX&FIm@tV>*uwot6*~M+g2_09f-tmxsGq6w zJ5`DRE^0&R^^kLMs%hvz@+MHzq2M@}sz#OtCm47{d2arC2wTAJ|Mf;?|9l;=xw4{` z9x;%cC6J#A62PZxd*FiwY>?LESn_Rx4yS}X@_?O4KR^LZOpjoFf*SNBWY4Z+m3Gt) zR{Im7T$kE4%?3BA>PF#4G0k?vf2^8)@f9FtIloR|Jp-tGP& z$TpX+_>^uQWM^1`H)D#zD%~~(Coxzr-Gn8jpbf82Ba*idSyp7=8QnsyU&{orA0DtJ z+w3j!dgQ~i5#a9{=XC98bYpwSfLVBw4m{8Wm@vg}2m^5JC?9a@?EFqMsjYgnjn$E; z-x0!h`S_^C$4;3rgNehA{H@PLRM&Ll3}_?gm@HqcG7U9;*tmRoZtqa~$=x70+c|W+ z(=L6>FQG)%b$gZd4H_(heqI;E8<&({x++jk~ zWp+fI_KnXQ!Wcs-v#jKFJTlQA{u-|I&a%gOwOK+3Y4@m?4cuaHG+hkWFb#ND4KU)=|eM&1Hm;qLQ z6>yXUu*5bRxI}>&MKImMRGP&;3W8TSu*5R-sG~=wA%?zf@wh%!28lCgcrZ~R%wY-; z-Ve=Q0Cq;TB3LAilNVv{Bru{^VK_D}dVWmK{vGFY-J9WQDO@_h-2^0-oHPK#0}3aB za6Xv~-rt_-p|7%%9_eZtwBXwSukygv^Asmy9GZq_z_VLW7#A^DMNp{mvbE zuA9GCN0M_$EaV0z0$tCTKy#?AO8l~VTd4IJ#{5#tYXh==C4{9Vx|%~9C#fJMW9otS z{IkG)sh@t+pVl0iJ^E?SrxEc`4gx*e1vi_%7pi&LO@LuMCu?M=jg^+aze|DdX-vRs znAWF1+!O`&G>zY}&!|vuOUvfVG%zjVXb2g*n32_=zB<7|4nLW$$El@XIkTnuqMrK; zOfzO#xFlw?X%1L8e(%+RjFl^}uK>ltL7dq6Xiu42eEk@|eAHu<&=0c6#PDVp0mnku ztgZ5;1w0NUijr7P3h4<1xHNry);TNA3p!-!Dmvgu<+7c34};DHxYaC2wpdRJ&m`Kg z{i1Lp ze`YK)n=Fz5(;R=`35*@Q;GCBHA4RGPFSztB;M6k$*#!LhuWQS|di==;G@yJr7gSxD z*={`2_yf-n;sp{^Wdb!E#Y6=fj{s360xov2h1zVKu)N^)vCASPy25|=(!PD2g)zj7 z_Mk4W13nmo;%j*76L#u-P^bryVSAjt_FkqH7S!2XXN3WQEZLI}`wRaEZ<(6_P+=AK zKm#%-fm{IsQxBFj)!u@EED}a2hcZ1T2D2yagN6U^E>{}J-eyNCwRWbgBRXnSnE2qks2F#Lfdz^mQer9=zYlFhz|^+blc3s( zUt3l1kP*Hd(&wcs{!?K&l!OIkT(c|eZ_V1HH=<@xK{sEKgo&$!uErrQ`VECFzl z1+g^y=kP2mBWw;c`{I89RE+;BQb_}ax22Fi3WyTZ1t(2_U|$66PegB@$m$FTdzpx? zOo=;@Z>VD6EXh7$@|?bmgiu3@uCt z8awO_OJhK&U;|hLBZwBRQ4-w%wL?MyyM58WJK@UOk1QOOVzD1@oB5xhAG9Dq zqBm*@(tjT<)JDOe^@0g)Kst4Z0*>ny9>XgAh$H=Tm+)T9=Kygrmon1I+- z8cb)S?*vJIdrjkh078?|A?5f(4UIq%oF~xaE&ZRTHV@0u0MYRFi1TBBzjqwhaW80l zU&7YOcz}D1>Mu_L*Vr_njT@)|^iR$7b>#0N(3{|uZUQP*@{=J?2OPDfEreaJrU-;K(2a%!*HB_o^k3Ig_B;l-b|pQqa6NOsD;^h?m{j2=!JG03 zC|{Z3c@MgecwC0sb_|N4dki;s;2eGoyfG~1zH++$oPh=sCG=Jm1zbrX1~V(av`@^d*KecK5xZ zN=Yan7H_b#-y?g@4cft|d8>fcQQg<2)rBb`q7kos;&3&g4s(9~;TP9%bY z?fQLzv`JR3l#cz#%a?-~>7UF_{Me*MeFtbEOxGG*c}oM1nrFAhX40h4D`(DZ4R2MO z06hK1rXoH1^_$Y0;Vbdn%1zu*3c4=&X-?#(Ug1T=lw_87QdFx?T-`$)PSlFfNH;`v zzxGgdm=T_b&?v3k(-FQ}7CItKUQ=zu? z6&duTHW7Dqv35NV)W13+R>MZY-W~0*g&fN3XMS@c7d1#0X^7tRGy!jo1+8$`cH3RM zQG5;+rzve|gpsZ?Sb&xRk3;-_gn7&9imdn2ek!sL<*s^IQ~~bmVDu5#NFCW}r{&t% zg%Vf%cwtErrhNLUZwW%!TYxdx`jBWZ>&^uu~K$AE7ta(F!X7#H1m#zwSBuH!BJRiCL7 zzvTF?T~nYhz?A&`-C1cCMgS8=3Buaz)qP!7&fmO}J9!SXn?zb9OOAOQv>3uDXJ|oW zZvP|md3m88?o4Shu+r`r!j0-DVwBh!g5gM1ci z_CiuewsZgPqy_Lq3x-`IW|oZ7xmN;bo|oR_+I#x64*hKb=PonAe9vew8m9jEb9L!- zuf?tUw?9}fUo|)-wEd-phaQGzHwa6_ci2X#>>nnK72l;<95U|ZTq0T9xCM-Me#XpR zM;BFz=NQsjjwPGD$1M}rV^NgyW#t-j%ke_F^^t8kM_ak5VyJlw!{L^;^}*uv;*-I4 zF4sm9Mf%?0^_5=^LOCDHd|oNEmccGY7^P1KA;t{UlCAuNZSFxG#Q)l`Md3KLWSdS@ zuH6165&-+RBWUd<8b2&}!MWu!7mxPGwvcON8n(MMBWWj+P(YSKP8b8Ix@}x-~kVi#X;4C1^ zBJV6>`Iz=VGfqa41C75*Z+`2!)PIQ2FxB>bjos3V?`^x#{nuG_0-1vDKl1k^h?_-d z_38dO!9kMN+zPF`WO*Nq{5K988i#o9DY?z3qfPilnO9ufclNFKOlBlHFTF0cQL#5` zh(Z6cuuEH#QFV!^p*ppbVr?wqo%^#L5m!>^Ln0-+6y=`+!(zIv}k zUF*HXB%4)tpmQX%(1v2Zs9d$c=U?3En9j92R>AdzG*jS>!`uG_c;?l%wq?cleduhZ z=a{ZH`-7f9RxL%Je)MB8i8oOkEy53GB91hxpdpEn{5{_*pkFw}b)LZJ%l=z~Po!yJ zvBZ24MY*W4V`j8TEw4rHTb}#arhm;_EG3(uAxLHU&*dDWL`h@_?GYl7pS?TukmHJq z*j*d8OfJD8ysiGKRW5vx2B*oA5qC6Jw6%Q*X1jdD99>NrRrV+|jhy9pUeeYCTb{!@ zK-SWz?t}z}=cju~FGxA|(-qaoR?fod(MHWaqQCvN)t<#Y)I zU0$ywNI?tSywuBW(mKFme%h9m7g_D&TIEZ*hU?~!-Wr-R6!^5L@Nyy-oWf#?Z88Ag zSxtSg+XU#dx8G*uaN~Iu;(imhcdUhv?nhU4VOL*nU*JZ~3FFx~k}uLTeJxrPqLs?( zwwsVwH!x*N1t3seQUSS!K1$GczuNVHGe>J4Wj^*(?b8M`(Ia7F4(Q`9c_9C-n^ zzaxKk;?)9eUu1H(UufUe^4aXJsyGUfV}*yl&S4z+??1oGU<$Ddk1}uc@$|HU zte1T5lXNh|e!^!oXyVEUN+FAwgQ49bMK~TS&TGuK?VP^G5bWP?h*f@k^}XKI80a%f z*Zuiws-}0KwBt{%y8gBs*7elbjjmTl!V~6gW9*hfHKm;b0-eb-37MDPDMsvq-N9!}$M@W8=EOF@ho-Xh4wU2B z11?81WpM3IhMS_skO5x{xT>CsM!Sf}%&={|df!&`utr1kCC-%m@oeC{`5DD@wjHxzON!* zVc{8m-$EJ%V7Puv;l{EkWuKpq=~ohQ2Qr_ZU-3rMk%Yd93n_{EswaNhPq{st85+G68KGvaa3Qw{XMI}hY1?=-5zK559w6)&sj)3*WVg0ebPZY>9 z{DmkA(*Gu>q$0g=_NG>IWnm4+f`-`WVkrTSRBsvWIS%%ajoGP0PvQ=9jz6{P*JAN? zifnf>F0%If4N=zXzp+d&WS+CM)s{-s(@S=;W5<|u9{f#Qn5=skP=DhlSK^D!{S?Kq z^>9ux6Rl`VG~o>~DY4rB`kY<3#B%S|vetJM((K`T9un($Ojcs>lvE!ZJQ4BJ1}t+Z5$ojwRWgl898IHG#fsybBT=ajpwYD_MWN`SZ?f=_G3u z`J&6LDT{x^)2%aoJSiphTCn@sk8iVj26}f+MunK%xd}aNF4QqT0hSnk9COC}orQ1T zFXY$qZv|ArE1^3`nl+dLT*q&OFQD2ZB01aLk-uxVgLvYBeBIu-yGLU_GjbrCUk=tM z*e-INW~DBE@gse4Fg(9_`EDy8>GUmCpTgf_cgz?)1r&X+PtThzh+X5fR^My7-ih1I zXo^4 z)YYj!lhba4`5i9sU7bH(E2{{n=w6*|{+N-;oP4K2jDV|~T4W$A^h$9~RA{xmz{ zXlH=Q>ZpSjCpVeeA6{Q-RSm0EI{4|8!}#xp584*{o(rEM>|?SL{Sm)9zw|BQV%31U zwXwTJI#<-Qh)ng(u5h~qwxp%3@DPK$xlTl=P?wfbnEF2VMjozD+RP?C)uQ~Mtu0CP zTpZSDEp!|sExxOiLhY?R-6<{Dp8{A&49 zLEh(=={de;g?BAp-7orVc|kF`_3eSK(D>E+6VJD-dXz+tKR6mCGSy37NHApAcCpdj zEVE$Vz;=~Mj(-f_-TSdGMp^k`Ij7T-@0eM0z7L*m66S~5$G(7D$`TiRH2HmvVTJKA zX0DTiqH;&m`*|MrbA5??jypQ$YQ*Hy#?)--_H}TnaP-KOn9J#aG{2XH$H(@R*9;ofXv#`>LMuwK;x~Bf$Cz?1kZG zH}swDd|ORf?`Tt>k%v?d=3zNlo?(fj=Q;@fehr1BS%&itWOvJ=;lw@Ww~P7xSU6Ax z?#`*&ab{Lu+wE&7t?SgxFX77Q-=2({Jq-V5XOCJ@LED&bN13=*BSI(miUDM zaUe9lm+|0h%&2{GxGJlc42Z$#MA#Y0a?<%13P%TbcUrYq#o5C9Rzw9hBds#xWo~O8 z{3vXa{tUC+7jC|vp}=Z1Qa(hfv+JUCL>-`!PXyFhqH%7AZ@QfZ52>@z{Zi^_g>DGmXTstG>Lr8gOe zYAq7v=)RGehgqHl!K!}vQ=IXL26LF1@I@aMb5>+zLt3nyP0e?;EAX=$yVV)wFiT}C ze&8K_{F0{UD9skfIK!6_)c{YFlnYhe;zKgNPaJz=vwMCas_09aUk^2h<7xrjZ#kuh z5W2{dDJ|)>@2WIz(I-w3XBNhfjEt~qPS-8+k2<`{v3LH((qbju!LyN3%ETpD$%Ev` zM&`JmvHxKCWt>HJF%4@p)7sFOwy$HctS%_64=PKJ4yGUVv=0hg6P5-YB|B(WLEzUNbl>8O;u8F|+#QkT+8Nc~tNY_m z<$f1nj6%$Pm}>|PyDvM6wyoLdH8Dpz!A#5mVfO}VM1x2i{=0-4^$jj)Es z%SPuvvC;4BU5M3>%aAF0KDGE7ZFN^&wYyF>y~^4s`rEW+Mz@=L(O6(NA-I53lig=y zCvAxHWuTR3N99@m-wwij$A0aK%qewqp9oGr@~*2z7U}j5z%Xh=S*@C{mfOx$SoP0V z@VFG5Cne-eEu@O7$zSnf?+fEGX7#HloV2SR_#j>~z`Nqz`BV%9A8X8Tg+3;XfseUmI z@N5*bW^wASrW37;Y5`~38-&{OfA&PmysFgR`*XQ0GY9E;@le`D4J+aXN>lA-)-K+{ cdl_wLn3}iP4{?=B0rYcB*HEWW%Rb`&0Dy%d!vFvP literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/drawable/secondary_display.png b/GSKMTOrange/src/main/res/drawable/secondary_display.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c025ac2185d5436a434f422ee271db114e8d00 GIT binary patch literal 9561 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 literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/drawable/touch_points.png b/GSKMTOrange/src/main/res/drawable/touch_points.png new file mode 100644 index 0000000000000000000000000000000000000000..a81089c6068f3b467a80802e1a1ece6c6fd489ac GIT binary patch literal 8147 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 K%T`NUg#8by&kr^L literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/layout/activity_category_list.xml b/GSKMTOrange/src/main/res/layout/activity_category_list.xml new file mode 100644 index 0000000..025e57c --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_category_list.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml b/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml new file mode 100644 index 0000000..2e7daa9 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml b/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml new file mode 100644 index 0000000..f712000 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml b/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml new file mode 100644 index 0000000..8115d19 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/category_menu_row.xml b/GSKMTOrange/src/main/res/layout/category_menu_row.xml new file mode 100644 index 0000000..4abf0d1 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/category_menu_row.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_category_list.xml b/GSKMTOrange/src/main/res/layout/content_category_list.xml new file mode 100644 index 0000000..ec1e039 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_category_list.xml @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml b/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml new file mode 100644 index 0000000..4f7e8dc --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/content_daily_main_menu.xml b/GSKMTOrange/src/main/res/layout/content_daily_main_menu.xml new file mode 100644 index 0000000..788d0c0 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_daily_main_menu.xml @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/content_msl__availability.xml b/GSKMTOrange/src/main/res/layout/content_msl__availability.xml new file mode 100644 index 0000000..b703e70 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_msl__availability.xml @@ -0,0 +1,19 @@ + + + + + diff --git a/GSKMTOrange/src/main/res/layout/daily_main_menu_row.xml b/GSKMTOrange/src/main/res/layout/daily_main_menu_row.xml new file mode 100644 index 0000000..4abf0d1 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/daily_main_menu_row.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml b/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml new file mode 100644 index 0000000..2a448be --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/list_group_opening.xml b/GSKMTOrange/src/main/res/layout/list_group_opening.xml new file mode 100644 index 0000000..35248e9 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/list_group_opening.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/list_item_openingstk.xml b/GSKMTOrange/src/main/res/layout/list_item_openingstk.xml new file mode 100644 index 0000000..8309509 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/list_item_openingstk.xml @@ -0,0 +1,463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml index 1e58048..f851073 100644 --- a/GSKMTOrange/src/main/res/values/strings.xml +++ b/GSKMTOrange/src/main/res/values/strings.xml @@ -32,4 +32,9 @@ Setting Services + Category List + CategoryWise Performance + DailyMainMenuActivity + MSL_AvailabilityActivity + From fbd9780d0f5284ede5099cdca0452c1778b5ad30 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 12:15:47 +0530 Subject: [PATCH 03/13] Change --- GSKMTOrange/src/main/AndroidManifest.xml | 16 +- .../MSL_AvailabilityActivity.java | 402 ++------------- .../res/layout/activity_category_list.xml | 3 +- .../activity_category_wise_performance.xml | 1 + .../res/layout/activity_daily_data_menu.xml | 1 + .../res/layout/activity_msl__availability.xml | 5 +- .../res/layout/content_msl__availability.xml | 31 +- .../layout/item_msl_availability_child.xml | 112 +++++ ...g.xml => item_msl_availability_header.xml} | 4 +- .../main/res/layout/list_item_openingstk.xml | 463 ------------------ 10 files changed, 189 insertions(+), 849 deletions(-) create mode 100644 GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml rename GSKMTOrange/src/main/res/layout/{list_group_opening.xml => item_msl_availability_header.xml} (94%) delete mode 100644 GSKMTOrange/src/main/res/layout/list_item_openingstk.xml diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 6934a67..337a712 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -50,22 +50,30 @@ + android:configChanges="screenSize|orientation|keyboardHidden" + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> + android:configChanges="screenSize|orientation|keyboardHidden" + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> + android:configChanges="screenSize|orientation|keyboardHidden" + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> + android:configChanges="screenSize|orientation|keyboardHidden" + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java index ea40d49..80940ef 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java @@ -22,6 +22,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; +import android.widget.ToggleButton; import java.util.ArrayList; import java.util.HashMap; @@ -32,6 +33,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter; public class MSL_AvailabilityActivity extends AppCompatActivity { ExpandableListView expandableListView; + TextView txt_mslAvailabilityName; ArrayList headerDataList; ArrayList childDataList; @@ -51,10 +53,10 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); + txt_mslAvailabilityName = (TextView) findViewById(R.id.txt_mslAvailabilityName); prepareList(); - adapter = new ExpandableListAdapter(this, hashMapListHeaderData, hashMapListChildData); - expandableListView.setAdapter(adapter); + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); @@ -132,7 +134,6 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { private void prepareList() { headerDataList = new ArrayList<>(); - MSL_AvailabilityGetterSetter msl = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax header 1"); msl.setMbq("6"); @@ -141,8 +142,14 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { msl = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax header 2"); - msl.setMbq("6"); - msl.setAvailable("No"); + msl.setMbq("7"); + msl.setAvailable("Yes"); + headerDataList.add(msl); + + msl = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax header 3"); + msl.setMbq("8"); + msl.setAvailable("Yes"); headerDataList.add(msl); @@ -158,33 +165,23 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { MSL_AvailabilityGetterSetter msl1 = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax 1"); - msl.setMbq("6"); + msl.setMbq("1"); msl.setAvailable("No"); childDataList.add(msl1); msl1 = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax 2"); - msl.setMbq("6"); + msl.setMbq("2"); msl.setAvailable("No"); childDataList.add(msl1); - /*msl1 = new MSL_AvailabilityGetterSetter(); - msl.setBrandName("Parodontax 3"); - msl.setMbq("6"); - msl.setAvailable("No"); - childDataList.add(msl1); - - msl1 = new MSL_AvailabilityGetterSetter(); - msl.setBrandName("Parodontax 4"); - msl.setMbq("6"); - msl.setAvailable("No"); - childDataList.add(msl1);*/ - hashMapListChildData.put(hashMapListHeaderData.get(i), childDataList); } } + adapter = new ExpandableListAdapter(this, hashMapListHeaderData, hashMapListChildData); + expandableListView.setAdapter(adapter); } public class ExpandableListAdapter extends BaseExpandableListAdapter { @@ -216,20 +213,19 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { @Override public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { - final MSL_AvailabilityGetterSetter headerTitle = (MSL_AvailabilityGetterSetter) getGroup(groupPosition); + MSL_AvailabilityGetterSetter headerTitle = (MSL_AvailabilityGetterSetter) getGroup(groupPosition); if (convertView == null) { LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - convertView = infalInflater.inflate(R.layout.list_group_opening, null, false); + convertView = infalInflater.inflate(R.layout.item_msl_availability_header, null, false); } - //final int position = convertView.getId(); - TextView txt_header = (TextView) convertView.findViewById(R.id.txt_Header); + 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); - RelativeLayout rel_header = (RelativeLayout) convertView.findViewById(R.id.rel_header); - txt_header.setTypeface(null, Typeface.BOLD); - txt_header.setText(headerTitle.getBrandName()); + txt_categoryHeader.setTypeface(null, Typeface.BOLD); + txt_categoryHeader.setText(headerTitle.getBrandName()); /*img_camera.setOnClickListener(new View.OnClickListener() { @Override @@ -292,354 +288,22 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { if (convertView == null) { LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - convertView = infalInflater.inflate(R.layout.list_item_openingstk, null, false); + convertView = infalInflater.inflate(R.layout.item_msl_availability_child, 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.ed_stock = (EditText) convertView.findViewById(R.id.ed_stock); - holder.ed_faceup = (EditText) convertView.findViewById(R.id.ed_faceup); - holder.lin_item = (LinearLayout) convertView.findViewById(R.id.lin_item); + holder.ed_mbq = (EditText) convertView.findViewById(R.id.ed_mbq); + holder.toggle_available = (ToggleButton) convertView.findViewById(R.id.toggle_available); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.txt_skuName.setText(childData.getBrandName()); - - /*if (childData.getFocus().equals("1")) { - holder.lin_item.setBackgroundColor(getResources().getColor(R.color.green)); - } else if (childData.getInno().equals("1")) { - holder.lin_item.setBackgroundColor(getResources().getColor(R.color.yellow)); - } - - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setSku_cd(childData.getSku_cd()); - holder.txt_skuName.setText(childData.getSku()); - - //MFD Visibility - if (childData.getMfd().equals("1")) { - holder.lin_oldest_MFD.setVisibility(View.VISIBLE); - holder.lin_latest_MFD.setVisibility(View.VISIBLE); - } else { - holder.lin_oldest_MFD.setVisibility(View.GONE); - holder.lin_latest_MFD.setVisibility(View.GONE); - } - - if (childData.getStock().equals("0")) { - holder.ed_faceup.setEnabled(false); - holder.btn_old_Date.setEnabled(false); - holder.btn_new_Date.setEnabled(false); - } else { - holder.ed_faceup.setEnabled(true); - holder.btn_old_Date.setEnabled(true); - holder.btn_new_Date.setEnabled(true); - } - - final ViewHolder finalHolder = holder; - holder.ed_stock.setOnFocusChangeListener(new View.OnFocusChangeListener() { - @Override - public void onFocusChange(View v, boolean hasFocus) { - final EditText caption = (EditText) v; - String edStock = caption.getText().toString(); - - if (!edStock.equals("")) { - String stock = edStock.replaceFirst("^0+(?!$)", ""); - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setStock(stock); - - if (edStock.equals("0")) { - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup("0"); - childData.setOldDate(""); - childData.setNewDate(""); - - finalHolder.ed_faceup.setEnabled(false); - finalHolder.btn_old_Date.setEnabled(false); - finalHolder.btn_new_Date.setEnabled(false); - } else { - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup(childData.getFaceup()); - finalHolder.ed_faceup.setEnabled(true); - finalHolder.btn_old_Date.setEnabled(true); - finalHolder.btn_new_Date.setEnabled(true); - } - } else { - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setStock(""); - finalHolder.ed_faceup.setEnabled(true); - finalHolder.btn_old_Date.setEnabled(true); - finalHolder.btn_new_Date.setEnabled(true); - } - } - }); - - holder.ed_stock.setText(_listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).getStock()); - - holder.ed_faceup.setOnFocusChangeListener(new View.OnFocusChangeListener() { - @Override - public void onFocusChange(View v, boolean hasFocus) { - final EditText caption = (EditText) v; - final String edFaceup = caption.getText().toString().replaceFirst("^0+(?!$)", ""); - - if (!childData.getStock().equals("")) { - if (!edFaceup.equals("")) { - if (Integer.parseInt(edFaceup) <= Integer.parseInt(childData.getStock())) { - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup(edFaceup); - } else { - if (isDialogOpen) { - isDialogOpen = !isDialogOpen; - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("Faceup can not be greater than stock value") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - isDialogOpen = !isDialogOpen; - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } - } else { - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setFaceup(""); - } - } else { - if (isDialogOpen) { - isDialogOpen = !isDialogOpen; - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("First fill the stock value") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - isDialogOpen = !isDialogOpen; - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } - } - }); - - holder.ed_faceup.setText(_listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).getFaceup()); - - - holder.btn_new_Date.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - final Calendar c = Calendar.getInstance(); - mYear = c.get(Calendar.YEAR); - mMonth = c.get(Calendar.MONTH); - mDay = c.get(Calendar.DAY_OF_MONTH); - - // Launch Date Picker Dialog - DatePickerDialog dpd = new DatePickerDialog(OrderEntryActivity.this, - new DatePickerDialog.OnDateSetListener() { - @Override - public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { - // Display Selected date in textbox - try { - if (childData.getOldDate().equals("")) { - String sDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; - SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); - - Date date1 = sdf.parse(sDate); - Date visitDate = sdf.parse(visit_date); - - if (date1.compareTo(visitDate) != 1) { - String date = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setNewDate(date); - - expListView.invalidateViews(); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("Latest Date can not be greater than the current date ") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } else { - SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); - Date oldDate = sdf.parse(childData.getOldDate()); - - String sDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; - Date newDate = sdf.parse(sDate); - Date visitDate = sdf.parse(visit_date); - - if (newDate.compareTo(oldDate) == -1) { - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("Latest Date can not be less than the oldest date ") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } else { - if (newDate.compareTo(visitDate) != 1) { - String date = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setNewDate(date); - - expListView.invalidateViews(); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("Latest Date can not be greater than the current date ") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } - } - } catch (ParseException e) { - e.printStackTrace(); - } - } - } - , mYear, mMonth, mDay); - dpd.show(); - } - }); - - if (childData.getNewDate().equals("")) { - holder.txt_showNewDate.setText(""); - } else { - holder.txt_showNewDate.setText(childData.getNewDate()); - } - - holder.btn_old_Date.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - final Calendar c = Calendar.getInstance(); - mYear = c.get(Calendar.YEAR); - mMonth = c.get(Calendar.MONTH); - mDay = c.get(Calendar.DAY_OF_MONTH); - - // Launch Date Picker Dialog - DatePickerDialog dpd = new DatePickerDialog(OrderEntryActivity.this, - new DatePickerDialog.OnDateSetListener() { - @Override - public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { - // Display Selected date in textbox - try { - if (!childData.getNewDate().equals("")) { - - SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); - String sDate = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; - - Date date1 = sdf.parse(sDate);//pick date - Date date2 = sdf.parse(childData.getNewDate()); //latest date selected - Date visitDate = sdf.parse(visit_date);//current date - - if (date1.compareTo(visitDate) != 1) { //Compare Oldest Date and Current Date - - if (date1.compareTo(date2) != 1) { //Compare Oldest Date and Latest Date - String date = (monthOfYear + 1) + "/" + dayOfMonth + "/" + year; - _listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition).setOldDate(date); - - expListView.invalidateViews(); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("Oldest Date can not be greater than the latest date ") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("Oldest Date can not be greater than the current date ") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(OrderEntryActivity.this); - builder.setMessage("First Select the Latest Date ") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.dismiss(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } catch (ParseException e) { - e.printStackTrace(); - } - } - }, mYear, mMonth, mDay); - dpd.show(); - } - }); - - if (childData.getOldDate().equals("")) { - holder.txt_showOldDate.setText(""); - } else { - holder.txt_showOldDate.setText(childData.getOldDate()); - } - - - if (!checkflag) { - boolean tempflag = false; - - if (holder.ed_stock.getText().toString().equals("")) { - holder.ed_stock.setBackgroundColor(getResources().getColor(R.color.grey_background)); - holder.ed_stock.setHintTextColor(getResources().getColor(R.color.red)); - holder.ed_stock.setHint("Empty"); - tempflag = true; - } - - if (holder.ed_faceup.getText().toString().equals("")) { - holder.ed_faceup.setBackgroundColor(getResources().getColor(R.color.grey_background)); - holder.ed_faceup.setHintTextColor(getResources().getColor(R.color.red)); - holder.ed_faceup.setHint("Empty"); - tempflag = true; - } - - if (!holder.ed_stock.getText().toString().equals("0")) { - if (holder.txt_showOldDate.getText().toString().equals("")) { - holder.txt_showOldDate.setHintTextColor(getResources().getColor(R.color.red)); - holder.txt_showOldDate.setHint("Select Oldest MFD "); - } - } else if (holder.ed_stock.getText().toString().equals("0")) { - holder.txt_showOldDate.setHint(""); - } - - if (!holder.ed_stock.getText().toString().equals("0")) { - if (holder.txt_showNewDate.getText().toString().equals("")) { - holder.txt_showNewDate.setHintTextColor(getResources().getColor(R.color.red)); - holder.txt_showNewDate.setHint("Select Latest MFD "); - } - } else if (holder.ed_stock.getText().toString().equals("0")) { - holder.txt_showNewDate.setHint(""); - } - - if (tempflag) { - holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.red)); - } else { - holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.white)); - } - }*/ + holder.ed_mbq.setText(childData.getMbq()); return convertView; } @@ -656,13 +320,11 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { } public class ViewHolder { - EditText ed_stock, ed_faceup; + EditText ed_mbq; CardView cardView; - TextView txt_skuName, txt_showOldDate, txt_showNewDate; - LinearLayout lin_item, lin_latest_MFD, lin_oldest_MFD; - Button btn_old_Date, btn_new_Date; - //public MutableWatcher mWatcher; - //public int mYear, mMonth, mDay, mHour, mMinute; + TextView txt_skuName; + ToggleButton toggle_available; + LinearLayout lin_category; } @Override diff --git a/GSKMTOrange/src/main/res/layout/activity_category_list.xml b/GSKMTOrange/src/main/res/layout/activity_category_list.xml index 025e57c..0b3ab65 100644 --- a/GSKMTOrange/src/main/res/layout/activity_category_list.xml +++ b/GSKMTOrange/src/main/res/layout/activity_category_list.xml @@ -28,6 +28,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" - app:srcCompat="@android:drawable/ic_dialog_email" /> + android:backgroundTint="@color/colorPrimary" + app:srcCompat="@drawable/save_icon" /> diff --git a/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml b/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml index 2e7daa9..108bc80 100644 --- a/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml +++ b/GSKMTOrange/src/main/res/layout/activity_category_wise_performance.xml @@ -28,6 +28,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" + android:backgroundTint="@color/colorPrimary" app:srcCompat="@drawable/save_icon" /> diff --git a/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml b/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml index f712000..86f7248 100644 --- a/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml +++ b/GSKMTOrange/src/main/res/layout/activity_daily_data_menu.xml @@ -28,6 +28,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" + android:backgroundTint="@color/colorPrimary" app:srcCompat="@drawable/save_icon" /> diff --git a/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml b/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml index 8115d19..20c2f70 100644 --- a/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml +++ b/GSKMTOrange/src/main/res/layout/activity_msl__availability.xml @@ -1,7 +1,6 @@ @@ -17,7 +16,6 @@ android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> - @@ -28,6 +26,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" - app:srcCompat="@android:drawable/ic_dialog_email" /> + android:backgroundTint="@color/colorPrimary" + app:srcCompat="@drawable/save_icon" /> diff --git a/GSKMTOrange/src/main/res/layout/content_msl__availability.xml b/GSKMTOrange/src/main/res/layout/content_msl__availability.xml index b703e70..fe71d4b 100644 --- a/GSKMTOrange/src/main/res/layout/content_msl__availability.xml +++ b/GSKMTOrange/src/main/res/layout/content_msl__availability.xml @@ -8,12 +8,31 @@ app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/activity_msl__availability"> - + android:background="@color/white" + android:orientation="vertical"> + + + + + diff --git a/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml b/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml new file mode 100644 index 0000000..bb82a6e --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/list_group_opening.xml b/GSKMTOrange/src/main/res/layout/item_msl_availability_header.xml similarity index 94% rename from GSKMTOrange/src/main/res/layout/list_group_opening.xml rename to GSKMTOrange/src/main/res/layout/item_msl_availability_header.xml index 35248e9..a7fbe99 100644 --- a/GSKMTOrange/src/main/res/layout/list_group_opening.xml +++ b/GSKMTOrange/src/main/res/layout/item_msl_availability_header.xml @@ -14,12 +14,12 @@ card_view:cardCornerRadius="10dp"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 9032e498925b4cecf03e76eaf8a0663925fa54f3 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 12:18:45 +0530 Subject: [PATCH 04/13] Change --- .../gsk_dailyentry/MSL_AvailabilityActivity.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java index 80940ef..71eb16a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java @@ -136,22 +136,28 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { MSL_AvailabilityGetterSetter msl = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax header 1"); - msl.setMbq("6"); + msl.setMbq("1"); msl.setAvailable("No"); headerDataList.add(msl); msl = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax header 2"); - msl.setMbq("7"); + msl.setMbq("2"); msl.setAvailable("Yes"); headerDataList.add(msl); msl = new MSL_AvailabilityGetterSetter(); msl.setBrandName("Parodontax header 3"); - msl.setMbq("8"); + msl.setMbq("3"); msl.setAvailable("Yes"); headerDataList.add(msl); + msl = new MSL_AvailabilityGetterSetter(); + msl.setBrandName("Parodontax header 4"); + msl.setMbq("4"); + msl.setAvailable("No"); + headerDataList.add(msl); + hashMapListHeaderData = new ArrayList<>(); hashMapListChildData = new HashMap<>(); From 2c077f5c3d16ce2be40ef80f05011eb41577daaf Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 12:35:46 +0530 Subject: [PATCH 05/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../com/gskmtorange/Database/GSKOrangeDB.java | 59 ++++--------------- .../gskmtorange/GeoTag/GeoTagActivity.java | 7 ++- 2 files changed, 14 insertions(+), 52 deletions(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java index 4eb7e9c..4d2115d 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -13,23 +13,18 @@ import cpm.com.gskmtorange.xmlHandlers.TableBean; * Created by ashishc on 29-12-2016. */ -public class GSKOrangeDB extends SQLiteOpenHelper{ - - - public static final String DATABASE_NAME = "GSK_ORANGE"; - public static final int DATABASE_VERSION = 13; - private SQLiteDatabase db; - TableBean tableBean; - +public class GSKOrangeDB extends SQLiteOpenHelper { + public static final String DATABASE_NAME = "GSK_ORANGE"; + public static final int DATABASE_VERSION = 13; + private SQLiteDatabase db; + TableBean tableBean; public GSKOrangeDB(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); - } public void open() { try { - db = this.getWritableDatabase(); } catch (Exception e) { e.printStackTrace(); @@ -38,39 +33,26 @@ public class GSKOrangeDB extends SQLiteOpenHelper{ @Override public void onCreate(SQLiteDatabase db) { - db.execSQL(TableBean.getJourneyPlan()); - - - - } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - db.execSQL("DROP TABLE IF EXISTS " + TableBean.getJourneyPlan()); + } + + public void deleteTableWithStoreID(String storeid, String process_id) { } - public void deleteTableWithStoreID(String storeid, String process_id){ + public void deleteAllTables() { } - public void deleteAllTables(){ - - } - - - - - public void InsertJCP(JourneyPlanGetterSetter data) { - db.delete("JOURNEY_PLAN", null, null); ContentValues values = new ContentValues(); - try { for (int i = 0; i < data.getSTORE_ID().size(); i++) { @@ -110,30 +92,9 @@ public class GSKOrangeDB extends SQLiteOpenHelper{ } - } - catch (Exception ex) { + } catch (Exception ex) { Log.d("Exception in JCP", 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 1e671a7..b3c647d 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java @@ -21,7 +21,8 @@ import cpm.com.gskmtorange.R; * Created by ashishc on 27-12-2016. */ -public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallback,GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener{ +public class GeoTagActivity extends AppCompatActivity { + //implements OnMapReadyCallback,GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener{ private GoogleMap mMap; double latitude =0.0; @@ -40,7 +41,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCa Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); preferences = PreferenceManager.getDefaultSharedPreferences(this); - username = preferences.getString(CommonString.KEY_USERNAME, null); + //username = preferences.getString(CommonString.KEY_USERNAME, null); fab = (FloatingActionButton) findViewById(R.id.fab); @@ -51,7 +52,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCa mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); - mapFragment.getMapAsync(this); + //mapFragment.getMapAsync(this); From bc4ab85914b1f09f5c8fc5bdd15b9dd0c89611c1 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 14:43:28 +0530 Subject: [PATCH 06/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- GSKMTOrange/src/main/AndroidManifest.xml | 6 + .../gsk_dailyentry/DailyDataMenuActivity.java | 5 + .../MSL_AvailabilityActivity.java | 7 +- .../gsk_dailyentry/Stock_FacingActivity.java | 356 ++++++++++++++++++ .../Stock_FacingGetterSetter.java | 33 ++ .../main/res/layout/activity_stock_facing.xml | 32 ++ .../res/layout/content_msl__availability.xml | 60 +++ .../main/res/layout/content_stock_facing.xml | 98 +++++ .../layout/item_msl_availability_child.xml | 12 +- .../res/layout/item_stock_facing_child.xml | 117 ++++++ .../res/layout/item_stock_facing_header.xml | 78 ++++ 11 files changed, 796 insertions(+), 8 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/Stock_FacingGetterSetter.java create mode 100644 GSKMTOrange/src/main/res/layout/activity_stock_facing.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_stock_facing.xml create mode 100644 GSKMTOrange/src/main/res/layout/item_stock_facing_child.xml create mode 100644 GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 337a712..278247a 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -76,5 +76,11 @@ android:windowSoftInputMode="adjustPan" /> + + \ No newline at end of file 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 8823aa7..798ae71 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 @@ -17,6 +17,7 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -136,6 +137,10 @@ public class DailyDataMenuActivity extends AppCompatActivity { Intent intent = new Intent(DailyDataMenuActivity.this, MSL_AvailabilityActivity.class); intent.putExtra("categoryName", dailyData.getCategory_name()); startActivity(intent); + } else if (dailyData.getCategory_name().equalsIgnoreCase("Stock & Facing")) { + Intent intent1 = new Intent(DailyDataMenuActivity.this, Stock_FacingActivity.class); + intent1.putExtra("categoryName", dailyData.getCategory_name()); + startActivity(intent1); } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java index 71eb16a..18a3bcb 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java @@ -42,6 +42,8 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { ExpandableListAdapter adapter; + String title; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -55,10 +57,11 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); txt_mslAvailabilityName = (TextView) findViewById(R.id.txt_mslAvailabilityName); + title = getIntent().getStringExtra("categoryName"); + txt_mslAvailabilityName.setText(title); + prepareList(); - - FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java new file mode 100644 index 0000000..b93d0ea --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java @@ -0,0 +1,356 @@ +package cpm.com.gskmtorange.gsk_dailyentry; + +import android.content.Context; +import android.graphics.Typeface; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.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 android.widget.ToggleButton; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.Stock_FacingGetterSetter; + +public class Stock_FacingActivity extends AppCompatActivity { + ExpandableListView expandableListView; + TextView txt_stockFacingName; + + ArrayList headerDataList; + ArrayList childDataList; + List hashMapListHeaderData; + HashMap> hashMapListChildData; + + ExpandableListAdapter adapter; + + String title; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_stock_facing); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); + txt_stockFacingName = (TextView) findViewById(R.id.txt_stockFacingName); + + title = getIntent().getStringExtra("categoryName"); + txt_stockFacingName.setText(title); + + prepareList(); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + + expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + } + + @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; + } + }); + + } + + private void prepareList() { + headerDataList = new ArrayList<>(); + + Stock_FacingGetterSetter msl = new Stock_FacingGetterSetter(); + msl.setBrandName("Parodontax header 1"); + msl.setMbq("1"); + msl.setAvailable("No"); + headerDataList.add(msl); + + msl = new Stock_FacingGetterSetter(); + msl.setBrandName("Parodontax header 2"); + msl.setMbq("2"); + msl.setAvailable("Yes"); + headerDataList.add(msl); + + msl = new Stock_FacingGetterSetter(); + msl.setBrandName("Parodontax header 3"); + msl.setMbq("3"); + msl.setAvailable("Yes"); + headerDataList.add(msl); + + msl = new Stock_FacingGetterSetter(); + msl.setBrandName("Parodontax header 4"); + msl.setMbq("4"); + msl.setAvailable("No"); + headerDataList.add(msl); + + + hashMapListHeaderData = new ArrayList<>(); + hashMapListChildData = new HashMap<>(); + + if (headerDataList.size() > 0) { + + for (int i = 0; i < headerDataList.size(); i++) { + hashMapListHeaderData.add(headerDataList.get(i)); + + childDataList = new ArrayList<>(); + + Stock_FacingGetterSetter msl1 = new Stock_FacingGetterSetter(); + msl.setBrandName("Parodontax 1"); + msl.setMbq("1"); + msl.setAvailable("No"); + childDataList.add(msl1); + + msl1 = new Stock_FacingGetterSetter(); + msl.setBrandName("Parodontax 2"); + msl.setMbq("2"); + msl.setAvailable("No"); + childDataList.add(msl1); + + hashMapListChildData.put(hashMapListHeaderData.get(i), childDataList); + } + + } + + adapter = new ExpandableListAdapter(this, hashMapListHeaderData, hashMapListChildData); + expandableListView.setAdapter(adapter); + } + + 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) { + Stock_FacingGetterSetter headerTitle = (Stock_FacingGetterSetter) getGroup(groupPosition); + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.item_stock_facing_header, null, false); + } + + TextView txt_stockFaceupHeader = (TextView) convertView.findViewById(R.id.txt_stockFaceupHeader); + LinearLayout lin_stockFaceupHeader = (LinearLayout) convertView.findViewById(R.id.lin_stockFaceupHeader); + ImageView img_camera = (ImageView) convertView.findViewById(R.id.img_camera); + + txt_stockFaceupHeader.setTypeface(null, Typeface.BOLD); + txt_stockFaceupHeader.setText(headerTitle.getBrandName()); + + /*img_camera.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String date = new Date().toLocaleString().toString(); + String TempDate = new Date().toLocaleString().toString().replace(' ', '_').replace(',', '_').replace(':', '-'); + + _pathforcheck = "Stock" + headerTitle.getBrand_cd() + "_" + store_cd + "_" + visit_date.replace("/", "") + getCurrentTime().replace(":", "") + ".jpg"; + child_position = groupPosition; + path = str + _pathforcheck; + + startCameraActivity(groupPosition); + } + }); + + if (!img1.equalsIgnoreCase("")) { + if (groupPosition == child_position) { + headerTitle.setImg_cam(img1); + img1 = ""; + } + } + + if (headerTitle.getImg_cam().equals("")) { + img_camera.setBackgroundResource(R.drawable.cam); + } else { + img_camera.setBackgroundResource(R.drawable.camtick); + } + + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + txt_header.setTextColor(getResources().getColor(R.color.red)); + } else { + txt_header.setTextColor(getResources().getColor(R.color.grey_dark)); + } + }*/ + + 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) { + Stock_FacingGetterSetter childData = (Stock_FacingGetterSetter) getChild(groupPosition, childPosition); + ViewHolder holder = null; + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.item_stock_facing_child, 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.ed_stock = (EditText) convertView.findViewById(R.id.ed_stock); + holder.ed_facing = (EditText) convertView.findViewById(R.id.ed_facing); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + holder.txt_skuName.setText(childData.getBrandName()); + holder.ed_stock.setText(childData.getMbq()); + + return convertView; + } + + @Override + public boolean hasStableIds() { + return false; + } + + @Override + public boolean isChildSelectable(int groupPosition, int childPosition) { + return true; + } + } + + public class ViewHolder { + EditText ed_stock, ed_facing; + CardView cardView; + TextView txt_skuName; + LinearLayout lin_category; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + if (id == android.R.id.home) { + finish(); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/Stock_FacingGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/Stock_FacingGetterSetter.java new file mode 100644 index 0000000..bb2b594 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/Stock_FacingGetterSetter.java @@ -0,0 +1,33 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +/** + * Created by gagang on 23-12-2016. + */ + +public class Stock_FacingGetterSetter { + String brandName, mbq, available; + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getMbq() { + return mbq; + } + + public void setMbq(String mbq) { + this.mbq = mbq; + } + + public String getAvailable() { + return available; + } + + public void setAvailable(String available) { + this.available = available; + } +} diff --git a/GSKMTOrange/src/main/res/layout/activity_stock_facing.xml b/GSKMTOrange/src/main/res/layout/activity_stock_facing.xml new file mode 100644 index 0000000..82b3ec7 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_stock_facing.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/content_msl__availability.xml b/GSKMTOrange/src/main/res/layout/content_msl__availability.xml index fe71d4b..8e9fda9 100644 --- a/GSKMTOrange/src/main/res/layout/content_msl__availability.xml +++ b/GSKMTOrange/src/main/res/layout/content_msl__availability.xml @@ -26,6 +26,66 @@ android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@android:color/black" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml b/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml index bb82a6e..4c2a186 100644 --- a/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml +++ b/GSKMTOrange/src/main/res/layout/item_msl_availability_child.xml @@ -32,7 +32,7 @@ android:layout_weight="2.5" android:orientation="vertical"> - + android:textColor="#222" />--> - + android:textColor="#222" />--> - + android:textColor="#222" />--> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml b/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml new file mode 100644 index 0000000..fd33a8a --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 22e94b0e88c2e6d1e485eea6eb6855047cc6fdfd Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 15:32:53 +0530 Subject: [PATCH 07/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../gsk_dailyentry/Stock_FacingActivity.java | 92 ++++++++++++++++++- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java index b93d0ea..853c01c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java @@ -1,13 +1,17 @@ package cpm.com.gskmtorange.gsk_dailyentry; import android.content.Context; +import android.content.Intent; import android.graphics.Typeface; +import android.net.Uri; import android.os.Bundle; +import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.Toolbar; +import android.util.Log; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -23,7 +27,11 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.ToggleButton; +import java.io.File; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.List; @@ -44,6 +52,9 @@ public class Stock_FacingActivity extends AppCompatActivity { String title; + String path = "", str = "", _pathforcheck = "", img1 = ""; + static int child_position = -1; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -131,7 +142,6 @@ public class Stock_FacingActivity extends AppCompatActivity { return false; } }); - } private void prepareList() { @@ -222,7 +232,7 @@ public class Stock_FacingActivity extends AppCompatActivity { @Override public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { - Stock_FacingGetterSetter headerTitle = (Stock_FacingGetterSetter) getGroup(groupPosition); + final Stock_FacingGetterSetter headerTitle = (Stock_FacingGetterSetter) getGroup(groupPosition); if (convertView == null) { LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); @@ -231,11 +241,41 @@ public class Stock_FacingActivity extends AppCompatActivity { TextView txt_stockFaceupHeader = (TextView) convertView.findViewById(R.id.txt_stockFaceupHeader); LinearLayout lin_stockFaceupHeader = (LinearLayout) convertView.findViewById(R.id.lin_stockFaceupHeader); - ImageView img_camera = (ImageView) convertView.findViewById(R.id.img_camera); + ImageView img_reference = (ImageView) convertView.findViewById(R.id.img_reference); + ImageView img_camera1 = (ImageView) convertView.findViewById(R.id.img_camera1); + ImageView img_camera2 = (ImageView) convertView.findViewById(R.id.img_camera2); + ImageView img_edit = (ImageView) convertView.findViewById(R.id.img_edit); txt_stockFaceupHeader.setTypeface(null, Typeface.BOLD); txt_stockFaceupHeader.setText(headerTitle.getBrandName()); + img_camera1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String date = new Date().toLocaleString().toString(); + String tempDate = new Date().toLocaleString().toString().replace(' ', '_').replace(',', '_').replace(':', '-'); + + _pathforcheck = "Stock Camera1_" + tempDate + ".jpg"; + child_position = groupPosition; + path = str + _pathforcheck; + + startCameraActivity(groupPosition); + } + }); + + if (!img1.equalsIgnoreCase("")) { + if (groupPosition == child_position) { + //headerTitle.setImg_cam(img1); + img1 = ""; + } + } + + /*if (headerTitle.getImg_cam().equals("")) { + img_camera1.setBackgroundResource(R.drawable.ic_menu_camera); + } else { + //img_camera1.setBackgroundResource(R.drawable.camtick); + }*/ + /*img_camera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -335,6 +375,52 @@ public class Stock_FacingActivity extends AppCompatActivity { LinearLayout lin_category; } + private void startCameraActivity(int position) { + try { + Log.e("Stock & Facing ", "startCameraActivity()"); + File file = new File(path); + Uri outputFileUri = Uri.fromFile(file); + + Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + + startActivityForResult(intent, position); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + Log.e("Stock & Facing", "resultCode: " + resultCode); + switch (resultCode) { + case 0: + Log.e("Stock & Facing", "User cancelled"); + break; + case -1: + if (_pathforcheck != null && !_pathforcheck.equals("")) { + if (new File(str + _pathforcheck).exists()) { + img1 = _pathforcheck; + //adapter.notifyDataSetChanged(); + _pathforcheck = ""; + } + } + break; + } + // TODO Auto-generated method stub + super.onActivityResult(requestCode, resultCode, data); + } + + public String getCurrentTime() { + Calendar m_cal = Calendar.getInstance(); + SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); + String cdate = formatter.format(m_cal.getTime()); + /* String intime = m_cal.get(Calendar.HOUR_OF_DAY) + ":" + + m_cal.get(Calendar.MINUTE) + ":" + m_cal.get(Calendar.SECOND);*/ + + return cdate; + } + @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will From b014ae331515d454f0fac46ec065575ac132afac Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Thu, 29 Dec 2016 16:39:41 +0530 Subject: [PATCH 08/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../MSL_AvailabilityActivity.java | 3 +++ .../gsk_dailyentry/Stock_FacingActivity.java | 25 +++++++++++++++++++ .../res/layout/item_stock_facing_header.xml | 5 ++-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java index 18a3bcb..abc3613 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_AvailabilityActivity.java @@ -314,6 +314,9 @@ public class MSL_AvailabilityActivity extends AppCompatActivity { holder.txt_skuName.setText(childData.getBrandName()); holder.ed_mbq.setText(childData.getMbq()); + holder.toggle_available.setTextOff("No"); + holder.toggle_available.setTextOn("Yes"); + return convertView; } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java index 853c01c..478891c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java @@ -2,9 +2,12 @@ package cpm.com.gskmtorange.gsk_dailyentry; import android.content.Context; import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; import android.graphics.Typeface; import android.net.Uri; import android.os.Bundle; +import android.os.Environment; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; @@ -73,6 +76,8 @@ public class Stock_FacingActivity extends AppCompatActivity { prepareList(); + str = Environment.getExternalStorageState(); + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override @@ -270,6 +275,7 @@ public class Stock_FacingActivity extends AppCompatActivity { } } + /*if (headerTitle.getImg_cam().equals("")) { img_camera1.setBackgroundResource(R.drawable.ic_menu_camera); } else { @@ -381,9 +387,28 @@ public class Stock_FacingActivity extends AppCompatActivity { File file = new File(path); Uri outputFileUri = Uri.fromFile(file); + /*String defaultCameraPackage = ""; + final PackageManager packageManager = getPackageManager(); + List list = packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES); + + for (int n = 0; n < list.size(); n++) { + if ((list.get(n).flags & ApplicationInfo.FLAG_SYSTEM) == 1) { +// Log.d("TAG", "Installed Applications : " + list.get(n).loadLabel(packageManager).toString()); +// Log.d("TAG", "package name : " + list.get(n).packageName); + if (list.get(n).loadLabel(packageManager).toString().equalsIgnoreCase("Camera")) { + defaultCameraPackage = list.get(n).packageName; + break; + } + } + } + Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + startActivityForResult(intent, position);*/ + Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); startActivityForResult(intent, position); } catch (Exception e) { e.printStackTrace(); diff --git a/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml b/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml index fd33a8a..0f749ac 100644 --- a/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml +++ b/GSKMTOrange/src/main/res/layout/item_stock_facing_header.xml @@ -25,14 +25,15 @@ android:layout_height="match_parent" android:layout_weight="1" android:gravity="center_vertical" - android:orientation="vertical"> + android:orientation="vertical" + android:paddingRight="10dp"> From 5d2372b6513c6a6dceff63f2ffa43d8380d7381b Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Fri, 30 Dec 2016 09:43:38 +0530 Subject: [PATCH 09/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java index 5225e7d..a58959e 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; -import cpm.com.gskmtorange.xmlHandlers.TableBean; +import cpm.com.gskmtorange.xmlGetterSetter.TableBean; /** * Created by ashishc on 29-12-2016. From c64303611ec42b9c3939c69e842a07032ef5c314 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Fri, 30 Dec 2016 09:46:52 +0530 Subject: [PATCH 10/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../com/gskmtorange/Database/GSKOrangeDB.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java index a58959e..1d598ed 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -47,7 +47,6 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } public void deleteTableWithStoreID(String storeid, String process_id) { - } public void deleteAllTables() { @@ -102,15 +101,6 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } } - - - - - - - - - public ArrayList getStoreData(String date) { @@ -189,13 +179,4 @@ public class GSKOrangeDB extends SQLiteOpenHelper { return list; } - - - - - - - - - } From fa6a5c526bc0494d1a8d88c521b41dbf5553c153 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Fri, 30 Dec 2016 10:31:29 +0530 Subject: [PATCH 11/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../com/gskmtorange/Database/GSKOrangeDB.java | 151 ++++++++++++ .../download/DownloadActivity.java | 229 +++++++----------- .../xmlGetterSetter/SkuGetterSetter.java | 51 ++++ 3 files changed, 287 insertions(+), 144 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SkuGetterSetter.java diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java index 1d598ed..aa8fc2a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -11,7 +11,15 @@ import java.util.ArrayList; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MAPPINGT2PGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.TableBean; /** @@ -38,7 +46,16 @@ public class GSKOrangeDB extends SQLiteOpenHelper { @Override public void onCreate(SQLiteDatabase db) { + db.execSQL(TableBean.getJourneyPlan()); + db.execSQL(TableBean.getBrandMaster()); + db.execSQL(TableBean.getSkuMaster()); + db.execSQL(TableBean.getCategoryMaster()); + db.execSQL(TableBean.getSubCategoryMaster()); + db.execSQL(TableBean.getDisplayMaster()); + + db.execSQL(TableBean.getMappingStock()); + db.execSQL(TableBean.getMappingT2p()); } @Override @@ -179,4 +196,138 @@ public class GSKOrangeDB extends SQLiteOpenHelper { return list; } + //Gagan Goel + public void InsertCategory(CategoryMasterGetterSetter data) { + db.delete("CATEGORY_MASTER", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getCATEGORY_ID().size(); i++) { + + values.put("CATEGORY_ID", data.getCATEGORY_ID().get(i)); + values.put("CATEGORY", data.getCATEGORY().get(i)); + values.put("CATEGORY_SEQUENCE", data.getCATEGORY_SEQUENCE().get(i)); + + db.insert("CATEGORY_MASTER", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in CATEGORY_MASTER " + ex.toString()); + } + } + + public void InsertMappingStock(MappingStockGetterSetter data) { + db.delete("MAPPING_STOCK", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getKEYACCOUNT_ID().size(); i++) { + + values.put("KEYACCOUNT_ID", data.getKEYACCOUNT_ID().get(i)); + values.put("STORETYPE_ID", data.getSTORETYPE_ID().get(i)); + values.put("CLASS_ID", data.getCLASS_ID().get(i)); + values.put("SKU_ID", data.getSKU_ID().get(i)); + values.put("MUST_HAVE", data.getMUST_HAVE().get(i)); + values.put("MBQ", data.getMBQ().get(i)); + + db.insert("MAPPING_STOCK", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in MAPPING_STOCK " + ex.toString()); + } + } + + public void InsertSubCategoryMaster(SubCategoryMasterGetterSetter data) { + db.delete("SUB_CATEGORY_MASTER", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getSUB_CATEGORY_ID().size(); i++) { + + values.put("SUB_CATEGORY_ID", data.getSUB_CATEGORY_ID().get(i)); + values.put("SUB_CATEGORY", data.getSUB_CATEGORY().get(i)); + values.put("CATEGORY_ID", data.getCATEGORY_ID().get(i)); + values.put("SUB_CATEGORY_SEQUENCE", data.getSUB_CATEGORY_SEQUENCE().get(i)); + + db.insert("SUB_CATEGORY_MASTER", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in MAPPING_STOCK " + ex.toString()); + } + } + + public void InsertBrandMaster(BrandMasterGetterSetter data) { + db.delete("BRAND_MASTER", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getBRAND_ID().size(); 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("COMPANY_ID", data.getCOMPANY_ID().get(i)); + values.put("BRAND_SEQUENCE", data.getBRAND_SEQUENCE().get(i)); + + db.insert("BRAND_MASTER", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in BRAND_MASTER " + ex.toString()); + } + } + + public void InsertSkuMaster(SkuMasterGetterSetter data) { + db.delete("SKU_MASTER", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getSKU_ID().size(); i++) { + + values.put("SKU_ID", data.getSKU_ID().get(i)); + values.put("SKU", data.getSKU().get(i)); + values.put("BRAND_ID", data.getBRAND_ID().get(i)); + values.put("MRP", data.getMRP().get(i)); + values.put("SKU_SEQUENCE", data.getSKU_SEQUENCE().get(i)); + + db.insert("SKU_MASTER", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in SKU_MASTER " + ex.toString()); + } + } + + public void InsertDisplayMaster(DisplayMasterGetterSetter data) { + db.delete("DISPLAY_MASTER", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getDISPLAY_ID().size(); i++) { + + values.put("DISPLAY_ID", data.getDISPLAY_ID().get(i)); + values.put("DISPLAY", data.getDISPLAY().get(i)); + values.put("IMAGE_URL", data.getIMAGE_URL().get(i)); + + db.insert("DISPLAY_MASTER", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in DISPLAY_MASTER " + ex.toString()); + } + } + + public void InsertMAPPING_T2P(MAPPINGT2PGetterSetter data) { + db.delete("MAPPING_T2P", 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("BRAND_ID", data.getBRAND_ID().get(i)); + values.put("DISPLAY_ID", data.getDISPLAY_ID().get(i)); + + db.insert("MAPPING_T2P", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in MAPPING_T2P " + ex.toString()); + } + } } 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 f9d1685..44eba49 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -80,8 +80,7 @@ public class DownloadActivity extends AppCompatActivity { String name; } - private class UploadTask extends AsyncTask{ - + private class UploadTask extends AsyncTask { private Context context; UploadTask(Context context) { @@ -101,75 +100,63 @@ public class DownloadActivity extends AppCompatActivity { message = (TextView) dialog.findViewById(R.id.message); dialog.setCancelable(false); dialog.show(); - } @Override protected String doInBackground(Void... voids) { - try { - - String resultHttp=""; + String resultHttp = ""; data = new Data(); data.value = 10; data.name = "JCP Data Downloading"; publishProgress(data); - XmlPullParserFactory factory = XmlPullParserFactory - .newInstance(); + XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser xpp = factory.newPullParser(); - SoapObject request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "JOURNEY_PLAN"); request.addProperty("cultureid", culture_id); - SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( - SoapEnvelope.VER11); + SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(request); - HttpTransportSE androidHttpTransport = new HttpTransportSE( - CommonString.URL); + HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, - envelope); Object result = (Object) envelope.getResponse(); - if(result.toString()!=null){ - + if (result.toString() != null) { //InputStream stream = new ByteArrayInputStream(result.toString().getBytes("UTF-8")); - xpp.setInput(new StringReader(result.toString())); - // xpp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); - // xpp.setInput(stream,"UTF-8"); + xpp.setInput(new StringReader(result.toString())); + // xpp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); + // xpp.setInput(stream,"UTF-8"); xpp.next(); eventType = xpp.getEventType(); jcpgettersetter = XMLHandlers.JCPXMLHandler(xpp, eventType); - if(jcpgettersetter.getSTORE_ID().size()>0){ + if (jcpgettersetter.getSTORE_ID().size() > 0) { resultHttp = CommonString.KEY_SUCCESS; String jcpTable = jcpgettersetter.getTable_journey_plan(); TableBean.setJourneyPlan(jcpTable); - - }else{ + } else { return "JOURNEY_PLAN"; } data.value = 10; data.name = "JCP Data Downloading"; - } - publishProgress(data); + publishProgress(data); + // Store List Master - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); - + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "SKU_MASTER"); request.addProperty("cultureid", culture_id); @@ -179,36 +166,33 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ - xpp.setInput(new StringReader(result.toString())); + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - skumastergettersetter =XMLHandlers.skuMasterXMLHandler(xpp, eventType); - if(skumastergettersetter.getSKU_ID().size()>0){ + skumastergettersetter = XMLHandlers.skuMasterXMLHandler(xpp, eventType); + if (skumastergettersetter.getSKU_ID().size() > 0) { String skutable = skumastergettersetter.getTable_SKU_MASTER(); - if(skutable!=null){ + if (skutable != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setSkuMaster(skutable); } - }else{ + } else { return "SKU_MASTER"; } data.value = 20; data.name = "SKU_MASTER Data Download"; } - publishProgress(data); - // BRAND_MASTER - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + // BRAND_MASTER + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "BRAND_MASTER"); request.addProperty("cultureid", culture_id); @@ -218,36 +202,33 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ - xpp.setInput(new StringReader(result.toString())); + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - brandMasterGetterSetter =XMLHandlers.brandMasterXMLHandler(xpp, eventType); - if(brandMasterGetterSetter.getBRAND_ID().size()>0){ + brandMasterGetterSetter = XMLHandlers.brandMasterXMLHandler(xpp, eventType); + if (brandMasterGetterSetter.getBRAND_ID().size() > 0) { String brandtable = brandMasterGetterSetter.getTable_BRAND_MASTER(); - if(brandtable!=null){ + if (brandtable != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setBrandMaster(brandtable); } - }else{ + } else { return "BRAND_MASTER"; } data.value = 30; data.name = "BRAND_MASTER Data Download"; } - publishProgress(data); - // SUB_CATEGORY_MASTER - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + // SUB_CATEGORY_MASTER + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "SUB_CATEGORY_MASTER"); request.addProperty("cultureid", culture_id); @@ -257,36 +238,32 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ + if (result.toString() != null) { xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - subCategoryMasterGetterSetter =XMLHandlers.subCategoryMasterXMLHandler(xpp, eventType); - if(subCategoryMasterGetterSetter.getSUB_CATEGORY_ID().size()>0){ + subCategoryMasterGetterSetter = XMLHandlers.subCategoryMasterXMLHandler(xpp, eventType); + if (subCategoryMasterGetterSetter.getSUB_CATEGORY_ID().size() > 0) { String categorytable = subCategoryMasterGetterSetter.getTable_SUB_CATEGORY_MASTER(); - if(categorytable!=null){ + if (categorytable != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setSubCategoryMaster(categorytable); } - }else{ + } else { return "SUB_CATEGORY_MASTER"; } - data.value = 20; data.name = "SUB_CATEGORY_MASTER Data Download"; } - publishProgress(data); - // CATEGORY_MASTER - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + // CATEGORY_MASTER + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "CATEGORY_MASTER"); request.addProperty("cultureid", culture_id); @@ -296,36 +273,32 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ - xpp.setInput(new StringReader(result.toString())); + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - categoryMasterGetterSetter =XMLHandlers.categoryMasterXMLHandler(xpp, eventType); - if(categoryMasterGetterSetter.getCATEGORY_ID().size()>0){ + categoryMasterGetterSetter = XMLHandlers.categoryMasterXMLHandler(xpp, eventType); + if (categoryMasterGetterSetter.getCATEGORY_ID().size() > 0) { String skutable = categoryMasterGetterSetter.getTable_CATEGORY_MASTER(); - if(skutable!=null){ + if (skutable != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setCategoryMaster(skutable); } - }else{ + } else { return "CATEGORY_MASTER"; } - data.value = 20; data.name = "CATEGORY_MASTER Data Download"; } - publishProgress(data); - // DISPLAY_MASTER - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + // DISPLAY_MASTER + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "DISPLAY_MASTER"); request.addProperty("cultureid", culture_id); @@ -335,36 +308,32 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ - xpp.setInput(new StringReader(result.toString())); + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - displayMasterGetterSetter =XMLHandlers.displayMasterXMLHandler(xpp, eventType); - if(displayMasterGetterSetter.getDISPLAY_ID().size()>0){ + displayMasterGetterSetter = XMLHandlers.displayMasterXMLHandler(xpp, eventType); + if (displayMasterGetterSetter.getDISPLAY_ID().size() > 0) { String display_table = displayMasterGetterSetter.getTable_DISPLAY_MASTER(); - if(display_table!=null){ + if (display_table != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setDisplayMaster(display_table); } - }else{ + } else { return "DISPLAY_MASTER"; } - data.value = 20; data.name = "DISPLAY_MASTER Data Download"; } - publishProgress(data); - // MAPPING_STOCK - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + // MAPPING_STOCK + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "MAPPING_STOCK"); request.addProperty("cultureid", culture_id); @@ -374,36 +343,32 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ + if (result.toString() != null) { xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - mappingStockGetterSetter =XMLHandlers.mappingStockXMLHandler(xpp, eventType); - if(mappingStockGetterSetter.getSKU_ID().size()>0){ + mappingStockGetterSetter = XMLHandlers.mappingStockXMLHandler(xpp, eventType); + if (mappingStockGetterSetter.getSKU_ID().size() > 0) { String stocktable = mappingStockGetterSetter.getTable_MAPPING_STOCK(); - if(stocktable!=null){ + if (stocktable != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setMappingStock(stocktable); } - }else{ + } else { return "MAPPING_STOCK"; } - data.value = 20; data.name = "MAPPING_STOCK Data Download"; } - publishProgress(data); - // MAPPING_T2P - request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + // MAPPING_T2P + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); request.addProperty("Type", "MAPPING_T2P"); request.addProperty("cultureid", culture_id); @@ -413,84 +378,65 @@ public class DownloadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); - androidHttpTransport.call( - CommonString.SOAP_ACTION_UNIVERSAL, envelope); result = (Object) envelope.getResponse(); - if(result.toString()!=null){ - xpp.setInput(new StringReader(result.toString())); + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); xpp.next(); eventType = xpp.getEventType(); - mappingt2PGetterSetter =XMLHandlers.mappingT2pXMLHandler(xpp, eventType); - if(mappingt2PGetterSetter.getSTORE_ID().size()>0){ + mappingt2PGetterSetter = XMLHandlers.mappingT2pXMLHandler(xpp, eventType); + if (mappingt2PGetterSetter.getSTORE_ID().size() > 0) { String t2ptable = mappingt2PGetterSetter.getTable_MAPPING_T2P(); - if(t2ptable!=null){ + if (t2ptable != null) { resultHttp = CommonString.KEY_SUCCESS; TableBean.setMappingT2p(t2ptable); } - }else{ + } else { return "MAPPING_T2P"; } - data.value = 20; data.name = "MAPPING_T2P Data Download"; } - publishProgress(data); - - - - - db.open(); - db.InsertJCP(jcpgettersetter); + db.InsertCategory(categoryMasterGetterSetter); + db.InsertSubCategoryMaster(subCategoryMasterGetterSetter); + db.InsertBrandMaster(brandMasterGetterSetter); + db.InsertSkuMaster(skumastergettersetter); + db.InsertDisplayMaster(displayMasterGetterSetter); + + db.InsertMAPPING_T2P(mappingt2PGetterSetter); + db.InsertMappingStock(mappingStockGetterSetter); - - - - - - - - - - - - }catch (MalformedURLException e) { - + } catch (MalformedURLException e) { /*final AlertMessage message = new AlertMessage( CompleteDownloadActivity.this, AlertMessage.MESSAGE_EXCEPTION, "download", e);*/ runOnUiThread(new Runnable() { - @Override public void run() { // TODO Auto-generated method stub showAlert(CommonString.MESSAGE_EXCEPTION); } }); - } catch (IOException e) { /* final AlertMessage message = new AlertMessage( CompleteDownloadActivity.this, AlertMessage.MESSAGE_SOCKETEXCEPTION, "socket", e);*/ runOnUiThread(new Runnable() { - @Override public void run() { showAlert(CommonString.MESSAGE_SOCKETEXCEPTION); - } }); - } - - catch (Exception e) { + } catch (Exception e) { /* final AlertMessage message = new AlertMessage( CompleteDownloadActivity.this, AlertMessage.MESSAGE_EXCEPTION, "download", e);*/ @@ -499,15 +445,12 @@ public class DownloadActivity extends AppCompatActivity { e.printStackTrace(); e.getCause();*/ runOnUiThread(new Runnable() { - @Override public void run() { - showAlert(CommonString.MESSAGE_EXCEPTION); } }); } - return ""; } @@ -518,7 +461,6 @@ public class DownloadActivity extends AppCompatActivity { pb.setProgress(values[0].value); percentage.setText(values[0].value + "%"); message.setText(values[0].name); - } @Override @@ -526,7 +468,6 @@ public class DownloadActivity extends AppCompatActivity { super.onPostExecute(s); dialog.dismiss(); - finish(); } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SkuGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SkuGetterSetter.java new file mode 100644 index 0000000..fb4cc4d --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SkuGetterSetter.java @@ -0,0 +1,51 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +/** + * Created by yadavendras on 28-12-2016. + */ + +public class SkuGetterSetter { + String SKU_ID, SKU, BRAND_ID, MRP, SKU_SEQUENCE; + + public String getSKU_ID() { + return SKU_ID; + } + + public void setSKU_ID(String SKU_ID) { + this.SKU_ID = SKU_ID; + } + + public String getSKU() { + return SKU; + } + + public void setSKU(String SKU) { + this.SKU = SKU; + } + + public String getBRAND_ID() { + return BRAND_ID; + } + + public void setBRAND_ID(String BRAND_ID) { + this.BRAND_ID = BRAND_ID; + } + + public String getMRP() { + return MRP; + } + + public void setMRP(String MRP) { + this.MRP = MRP; + } + + public String getSKU_SEQUENCE() { + return SKU_SEQUENCE; + } + + public void setSKU_SEQUENCE(String SKU_SEQUENCE) { + this.SKU_SEQUENCE = SKU_SEQUENCE; + } +} From 64612e448aef154612abef194952287045af2811 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Fri, 30 Dec 2016 11:28:45 +0530 Subject: [PATCH 12/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../com/gskmtorange/download/DownloadActivity.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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 44eba49..13ea84e 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -71,7 +71,7 @@ public class DownloadActivity extends AppCompatActivity { preferences = PreferenceManager.getDefaultSharedPreferences(this); userId = preferences.getString(CommonString.KEY_USERNAME, null); - culture_id = preferences.getString(CommonString.KEY_CULTURE_ID, null); + culture_id = preferences.getString(CommonString.KEY_CULTURE_ID, ""); new UploadTask(DownloadActivity.this).execute(); } @@ -256,7 +256,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "SUB_CATEGORY_MASTER"; } - data.value = 20; + data.value = 40; data.name = "SUB_CATEGORY_MASTER Data Download"; } publishProgress(data); @@ -291,7 +291,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "CATEGORY_MASTER"; } - data.value = 20; + data.value = 50; data.name = "CATEGORY_MASTER Data Download"; } publishProgress(data); @@ -326,7 +326,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "DISPLAY_MASTER"; } - data.value = 20; + data.value = 60; data.name = "DISPLAY_MASTER Data Download"; } publishProgress(data); @@ -361,7 +361,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "MAPPING_STOCK"; } - data.value = 20; + data.value = 80; data.name = "MAPPING_STOCK Data Download"; } publishProgress(data); @@ -396,7 +396,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "MAPPING_T2P"; } - data.value = 20; + data.value = 100; data.name = "MAPPING_T2P Data Download"; } publishProgress(data); From 9b1f2d5361f90a1fa1015be77d4d83d0f91318c7 Mon Sep 17 00:00:00 2001 From: Gagan290 Date: Fri, 30 Dec 2016 11:44:09 +0530 Subject: [PATCH 13/13] Merge branch 'master' of https://github.com/CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSKORANGEV1 into Category_G # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java --- .../cpm/com/gskmtorange/MainActivity.java | 69 ++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index fdae3b6..8b2a9cf 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -1,10 +1,14 @@ package cpm.com.gskmtorange; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Bitmap; import android.os.Bundle; +import android.os.Environment; import android.preference.PreferenceManager; +import android.support.design.widget.Snackbar; import android.view.LayoutInflater; import android.view.View; import android.support.design.widget.NavigationView; @@ -20,6 +24,13 @@ import android.webkit.WebViewClient; import android.widget.ImageView; import android.widget.TextView; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.nio.channels.FileChannel; +import java.text.SimpleDateFormat; + +import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.gsk_dailyentry.CategoryListActivity; import cpm.com.gskmtorange.dailyentry.StoreListActivity; @@ -131,7 +142,7 @@ public class MainActivity extends AppCompatActivity if (id == R.id.nav_route_plan) { - Intent startDownload = new Intent(this,StoreListActivity.class); + Intent startDownload = new Intent(this, StoreListActivity.class); startActivity(startDownload); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); @@ -153,6 +164,62 @@ public class MainActivity extends AppCompatActivity } else if (id == R.id.nav_setting) { startActivity(new Intent(MainActivity.this, CategoryListActivity.class)); + } else if (id == R.id.nav_export) { + + AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this); + builder1.setMessage("Are you sure you want to take the backup of your data") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + @SuppressWarnings("resource") + public void onClick(DialogInterface dialog, int id) { + try { + /*File file = new File(Environment + .getExternalStorageDirectory(), + "capital_backup"); + if (!file.isDirectory()) { + file.mkdir(); + }*/ + + File sd = Environment.getExternalStorageDirectory(); + File data = Environment.getDataDirectory(); + + if (sd.canWrite()) { + long date = System.currentTimeMillis(); + + SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yy"); + String dateString = sdf.format(date); + + String currentDBPath = "//data//cpm.com.gskmtorange//databases//" + GSKOrangeDB.DATABASE_NAME; + String backupDBPath = "GSKMT_ORANGE_Database_backup" + dateString.replace('/', '-'); + + String path = Environment.getExternalStorageDirectory().getPath(); + + File currentDB = new File(data, currentDBPath); + File backupDB = new File(path, backupDBPath); + + //Snackbar.make(rec_store_data, "Database Exported Successfully", Snackbar.LENGTH_SHORT).show(); + + if (currentDB.exists()) { + @SuppressWarnings("resource") + FileChannel src = new FileInputStream(currentDB).getChannel(); + FileChannel dst = new FileOutputStream(backupDB).getChannel(); + dst.transferFrom(src, 0, src.size()); + src.close(); + dst.close(); + } + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + }) + .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + }); + AlertDialog alert1 = builder1.create(); + alert1.show(); } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);