diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 9ce8360..bcb6ebb 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -59,16 +59,15 @@ android:theme="@style/AppTheme.NoActionBar" /> - @@ -121,26 +120,29 @@ android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="adjustPan" /> + - + android:theme="@style/AppTheme.NoActionBar"/> + android:theme="@style/AppTheme.NoActionBar"/> + android:label="@string/title_activity_upload" /> 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 4bca339..aaca1e8 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -15,7 +15,9 @@ import cpm.com.gskmtorange.GetterSetter.AddittionalGetterSetter; import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.GeotaggingBeans; import cpm.com.gskmtorange.GetterSetter.StoreBean; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; import cpm.com.gskmtorange.GetterSetter.AdditionalDialogGetterSetter; + import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter; @@ -32,9 +34,11 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Promo_Compliance_DataGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.STORE_PERFORMANCE_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Stock_FacingGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.StoreWisePerformaceGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.T2PGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.TableBean; @@ -91,6 +95,8 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(CommonString.CREATE_TABLE_INSERT_ADDITIONAL_PROMO_COMPLIANCE); db.execSQL(CommonString.CREATE_TABLE_INSERT_PROMO_SKU); + db.execSQL(TableBean.getStorePerformance()); + //Gagan End db.execSQL(CommonString.CREATE_TABLE_STORE_GEOTAGGING); @@ -2000,6 +2006,109 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } return list; } + + //Store wise Performance + public void InsertSTORE_PERFORMANCE(STORE_PERFORMANCE_MasterGetterSetter data) { + db.delete("STORE_PERFORMANCE", 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("CATEGORY_ID", data.getCATEGORY_ID().get(i)); + values.put("PERIOD", data.getPERIOD().get(i)); + values.put("MSL_AVAILABILITY", data.getMSL_AVAILABILITY().get(i)); + values.put("SOS", data.getSOS().get(i)); + values.put("T2P", data.getT2P().get(i)); + values.put("PROMO", data.getPROMO().get(i)); + values.put("OSS", data.getOSS().get(i)); + values.put("ORDERID", data.getORDERID().get(i)); + + db.insert("STORE_PERFORMANCE", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " STORE_PERFORMANCE " + ex.toString()); + } + } + + //Category wise Performance + public ArrayList getCategoryWisePerformance(String store_id, String category_id) { + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from STORE_PERFORMANCE " + + "where STORE_ID='" + store_id + "' and CATEGORY_ID='" + category_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + CategoryWisePerformaceGetterSetter cd = new CategoryWisePerformaceGetterSetter(); + + cd.setStore_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("STORE_ID"))); + cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID"))); + cd.setPeriod(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PERIOD"))); + cd.setMsl_availability(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MSL_AVAILABILITY"))); + cd.setSos(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SOS"))); + cd.setT2p(dbcursor.getString(dbcursor.getColumnIndexOrThrow("T2P"))); + cd.setPromo(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PROMO"))); + cd.setOss(dbcursor.getString(dbcursor.getColumnIndexOrThrow("OSS"))); + cd.setOrder_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ORDERID"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "getPromoComplianceSkuData!" + e.toString()); + return list; + } + return list; + } + + public ArrayList getStoreWisePerformance(String store_id) { + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select PERIOD, ROUND(avg(MSL_AVAILABILITY),1) as MSL_AVAILABILITY,ROUND(avg(sos),1) as SOS ," + + " ROUND(avg(t2p),1) as T2P,ROUND(avg(pROMO),1) as PROMO,ROUND(SUM(oss),1) AS OSS " + + "from STORE_PERFORMANCE " + + "where STORE_ID='" + store_id + "' " + + "GROUP BY PERIOD " + + "ORDER BY ORDERID ", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + StoreWisePerformaceGetterSetter cd = new StoreWisePerformaceGetterSetter(); + +/* cd.setStore_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("STORE_ID"))); + cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID")));*/ + cd.setPeriod(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PERIOD"))); + cd.setMsl_availability(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MSL_AVAILABILITY"))); + cd.setSos(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SOS"))); + cd.setT2p(dbcursor.getString(dbcursor.getColumnIndexOrThrow("T2P"))); + cd.setPromo(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PROMO"))); + cd.setOss(dbcursor.getString(dbcursor.getColumnIndexOrThrow("OSS"))); + // cd.setOrder_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ORDERID"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "getPromoComplianceSkuData!" + e.toString()); + return list; + } + return list; + } + //Gagan end new code 1 public void InsertStockDialog(AdditionalDialogGetterSetter data) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java index 147164f..8b4cea6 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java @@ -40,6 +40,7 @@ import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.gsk_dailyentry.CategoryListActivity; +import cpm.com.gskmtorange.gsk_dailyentry.StoreWisePerformanceActivity; /** * Created by ashishc on 31-05-2016. @@ -198,7 +199,8 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic editor.commit();*/ - Intent in = new Intent(StoreimageActivity.this, CategoryListActivity.class); + //Intent in = new Intent(StoreimageActivity.this, CategoryListActivity.class); + Intent in = new Intent(StoreimageActivity.this, StoreWisePerformanceActivity.class); startActivity(in); finish(); } @@ -268,8 +270,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); intent.setPackage(defaultCameraPackage); startActivityForResult(intent, 0); - } - catch (ActivityNotFoundException e) { + } catch (ActivityNotFoundException e) { e.printStackTrace(); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); @@ -277,8 +278,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic intent.setPackage(gallery_package); startActivityForResult(intent, 0); - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); } } 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 c6a0484..2614509 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -39,6 +39,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.STORE_PERFORMANCE_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.TableBean; @@ -68,6 +69,7 @@ public class DownloadActivity extends AppCompatActivity { NonWorkingReasonGetterSetter nonWorkingReasonGetterSetter; MappingPromotionGetterSetter mappingPromotionGetterSetter; MAPPING_ADDITIONAL_PROMOTION_MasterGetterSetter mapping_additional_promotion_masterGetterSetter; + STORE_PERFORMANCE_MasterGetterSetter store_performance_masterGetterSetter; @Override protected void onCreate(Bundle savedInstanceState) { @@ -584,6 +586,43 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + + //STORE_PERFORMANCE + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "STORE_PERFORMANCE"); + request.addProperty("cultureid", culture_id); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); + + result = (Object) envelope.getResponse(); + + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); + xpp.next(); + eventType = xpp.getEventType(); + store_performance_masterGetterSetter = XMLHandlers.STORE_PERFORMANCEXMLHandler(xpp, eventType); + + if (store_performance_masterGetterSetter.getSTORE_ID().size() > 0) { + String table_store_performace = store_performance_masterGetterSetter.getTable_STORE_PERFORMANCE(); + if (table_store_performace != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setStorePerformance(table_store_performace); + } + } else { + //return "STORE_PERFORMANCE"; + } + data.value = 100; + data.name = "STORE_PERFORMANCE Data Download"; + } + publishProgress(data); + + //Gagan end code @@ -605,6 +644,8 @@ public class DownloadActivity extends AppCompatActivity { db.insertNonWorkingData(nonWorkingReasonGetterSetter); + db.InsertSTORE_PERFORMANCE(store_performance_masterGetterSetter); + } catch (MalformedURLException e) { /*final AlertMessage message = new AlertMessage( CompleteDownloadActivity.this, 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 index 3553a8a..9dc09bb 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryWisePerformanceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryWisePerformanceActivity.java @@ -2,7 +2,10 @@ package cpm.com.gskmtorange.gsk_dailyentry; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Resources; import android.os.Bundle; +import android.preference.PreferenceManager; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; @@ -19,121 +22,84 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; public class CategoryWisePerformanceActivity extends AppCompatActivity { - TextView txt_categoryName; RecyclerView recyclerView; + Toolbar toolbar; String categoryName = "", categoryId; ArrayList categoryWisePerformanceList; CategoryWisePerformaceAdapter adapter; + GSKOrangeDB db; + private SharedPreferences preferences; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_category_wise_performance); + try { + setContentView(R.layout.activity_category_wise_performance); - Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + toolbar = (Toolbar) findViewById(R.id.toolbar); + recyclerView = (RecyclerView) findViewById(R.id.recyclerView); - recyclerView = (RecyclerView) findViewById(R.id.recyclerView); - //txt_categoryName = (TextView) findViewById(R.id.txt_categoryName); + db = new GSKOrangeDB(this); + db.open(); - categoryName = getIntent().getStringExtra("categoryName"); - categoryId = getIntent().getStringExtra("categoryId"); + //preference data + preferences = PreferenceManager.getDefaultSharedPreferences(this); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + intime = preferences.getString(CommonString.KEY_STORE_IN_TIME, ""); + keyAccount_id = preferences.getString(CommonString.KEY_KEYACCOUNT_ID, ""); + class_id = preferences.getString(CommonString.KEY_CLASS_ID, ""); + storeType_id = preferences.getString(CommonString.KEY_STORETYPE_ID, ""); - //txt_categoryName.setText(getResources().getString(R.string.title_activity_category_wise_performance) + " " + categoryName); - toolbar.setTitle(getResources().getString(R.string.title_activity_category_wise_performance) + " " + categoryName); - setSupportActionBar(toolbar); - getSupportActionBar().setHomeButtonEnabled(true); - getSupportActionBar().setDisplayHomeAsUpEnabled(true); + //Intent data + categoryName = getIntent().getStringExtra("categoryName"); + categoryId = getIntent().getStringExtra("categoryId"); - FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); - fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent = new Intent(CategoryWisePerformanceActivity.this, DailyDataMenuActivity.class); - intent.putExtra("categoryName", categoryName); - intent.putExtra("categoryId", categoryId); - startActivity(intent); - } - }); + //txt_categoryName.setText(getResources().getString(R.string.title_activity_category_wise_performance) + " " + categoryName); + toolbar.setTitle(getResources().getString(R.string.title_activity_category_wise_performance) + " " + categoryName); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(CategoryWisePerformanceActivity.this, DailyDataMenuActivity.class); + intent.putExtra("categoryName", categoryName); + intent.putExtra("categoryId", categoryId); + startActivity(intent); + } + }); + } catch (Resources.NotFoundException e) { + e.printStackTrace(); + } } @Override protected void onResume() { super.onResume(); + try { + categoryWisePerformanceList = db.getCategoryWisePerformance(store_id, categoryId); - 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())); + adapter = new CategoryWisePerformaceAdapter(CategoryWisePerformanceActivity.this, categoryWisePerformanceList); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + } catch (Exception e) { + e.printStackTrace(); + } } public class CategoryWisePerformaceAdapter extends RecyclerView.Adapter { @@ -158,11 +124,18 @@ public class CategoryWisePerformanceActivity extends AppCompatActivity { public void onBindViewHolder(CategoryWisePerformaceAdapter.MyViewHolder holder, int position) { final CategoryWisePerformaceGetterSetter categoryData = list.get(position); - holder.txt_period.setText(categoryData.getPeriod()); + if (categoryData.getPeriod().equalsIgnoreCase("LTM")) { + holder.txt_period.setText(getResources().getString(R.string.category_performance_ltm)); + } else if (categoryData.getPeriod().equalsIgnoreCase("MTD")) { + holder.txt_period.setText(getResources().getString(R.string.category_performance_mtd)); + } else if (categoryData.getPeriod().equalsIgnoreCase("LSV")) { + holder.txt_period.setText(getResources().getString(R.string.category_performance_lsv)); + } + //holder.txt_period.setText(categoryData.getPeriod()); + holder.txt_msl_availability.setText(categoryData.getMsl_availability()); 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()); } @@ -186,7 +159,6 @@ public class CategoryWisePerformanceActivity extends AppCompatActivity { txt_oss = (TextView) itemView.findViewById(R.id.txt_oss); } } - } @Override diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java new file mode 100644 index 0000000..38ca963 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java @@ -0,0 +1,173 @@ +package cpm.com.gskmtorange.gsk_dailyentry; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Resources; +import android.os.Bundle; +import android.preference.PreferenceManager; +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.Database.GSKOrangeDB; +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.StoreWisePerformaceGetterSetter; + +public class StoreWisePerformanceActivity extends AppCompatActivity { + RecyclerView recyclerView; + Toolbar toolbar; + + ArrayList storeWisePerformanceList; + StoreWisePerformaceAdapter adapter; + + GSKOrangeDB db; + private SharedPreferences preferences; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + try { + setContentView(R.layout.activity_store_wise_performance); + + toolbar = (Toolbar) findViewById(R.id.toolbar); + recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + + db = new GSKOrangeDB(this); + db.open(); + + //preference data + preferences = PreferenceManager.getDefaultSharedPreferences(this); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + intime = preferences.getString(CommonString.KEY_STORE_IN_TIME, ""); + keyAccount_id = preferences.getString(CommonString.KEY_KEYACCOUNT_ID, ""); + class_id = preferences.getString(CommonString.KEY_CLASS_ID, ""); + storeType_id = preferences.getString(CommonString.KEY_STORETYPE_ID, ""); + + toolbar.setTitle(getResources().getString(R.string.title_activity_store_wise_performance)); + setSupportActionBar(toolbar); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(StoreWisePerformanceActivity.this, CategoryListActivity.class); + startActivity(intent); + } + }); + } catch (Resources.NotFoundException e) { + e.printStackTrace(); + } + } + + @Override + protected void onResume() { + super.onResume(); + try { + storeWisePerformanceList = db.getStoreWisePerformance(store_id); + + adapter = new StoreWisePerformaceAdapter(StoreWisePerformanceActivity.this, storeWisePerformanceList); + recyclerView.setAdapter(adapter); + recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public class StoreWisePerformaceAdapter extends RecyclerView.Adapter { + Context context; + private LayoutInflater inflator; + List list = Collections.emptyList(); + + public StoreWisePerformaceAdapter(Context context, List list) { + inflator = LayoutInflater.from(context); + this.list = list; + this.context = context; + } + + @Override + public StoreWisePerformaceAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int i) { + View view = inflator.inflate(R.layout.item_store_wise_performance, parent, false); + StoreWisePerformaceAdapter.MyViewHolder holder = new StoreWisePerformaceAdapter.MyViewHolder(view); + return holder; + } + + @Override + public void onBindViewHolder(StoreWisePerformaceAdapter.MyViewHolder holder, int position) { + final StoreWisePerformaceGetterSetter categoryData = list.get(position); + + if (categoryData.getPeriod().equalsIgnoreCase("LTM")) { + holder.txt_period.setText(getResources().getString(R.string.category_performance_ltm)); + } else if (categoryData.getPeriod().equalsIgnoreCase("MTD")) { + holder.txt_period.setText(getResources().getString(R.string.category_performance_mtd)); + } else if (categoryData.getPeriod().equalsIgnoreCase("LSV")) { + holder.txt_period.setText(getResources().getString(R.string.category_performance_lsv)); + } + holder.txt_msl_availability.setText(categoryData.getMsl_availability()); + holder.txt_sos.setText(categoryData.getSos()); + holder.txt_t2p.setText(categoryData.getT2p()); + holder.txt_promo.setText(categoryData.getPromo()); + 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/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java index ad875c1..2982517 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/CategoryWisePerformaceGetterSetter.java @@ -5,7 +5,23 @@ package cpm.com.gskmtorange.xmlGetterSetter; */ public class CategoryWisePerformaceGetterSetter { - String period, sos, t2p, promo, msl_availability, oss; + String store_id, category_id, period, msl_availability, sos, t2p, promo, oss, order_id; + + public String getStore_id() { + return store_id; + } + + public void setStore_id(String store_id) { + this.store_id = store_id; + } + + public String getCategory_id() { + return category_id; + } + + public void setCategory_id(String category_id) { + this.category_id = category_id; + } public String getPeriod() { return period; @@ -15,6 +31,14 @@ public class CategoryWisePerformaceGetterSetter { this.period = period; } + public String getMsl_availability() { + return msl_availability; + } + + public void setMsl_availability(String msl_availability) { + this.msl_availability = msl_availability; + } + public String getSos() { return sos; } @@ -39,14 +63,6 @@ public class CategoryWisePerformaceGetterSetter { 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; } @@ -54,4 +70,12 @@ public class CategoryWisePerformaceGetterSetter { public void setOss(String oss) { this.oss = oss; } + + public String getOrder_id() { + return order_id; + } + + public void setOrder_id(String order_id) { + this.order_id = order_id; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/STORE_PERFORMANCE_MasterGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/STORE_PERFORMANCE_MasterGetterSetter.java new file mode 100644 index 0000000..9b546b7 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/STORE_PERFORMANCE_MasterGetterSetter.java @@ -0,0 +1,101 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +/** + * Created by gagang on 11-01-2017. + */ + +public class STORE_PERFORMANCE_MasterGetterSetter { + String table_STORE_PERFORMANCE; + + ArrayList STORE_ID = new ArrayList<>(); + ArrayList CATEGORY_ID = new ArrayList<>(); + ArrayList PERIOD = new ArrayList<>(); + ArrayList SOS = new ArrayList<>(); + ArrayList T2P = new ArrayList<>(); + ArrayList PROMO = new ArrayList<>(); + ArrayList MSL_AVAILABILITY = new ArrayList<>(); + ArrayList OSS = new ArrayList<>(); + ArrayList ORDERID = new ArrayList<>(); + + public String getTable_STORE_PERFORMANCE() { + return table_STORE_PERFORMANCE; + } + + public void setTable_STORE_PERFORMANCE(String table_STORE_PERFORMANCE) { + this.table_STORE_PERFORMANCE = table_STORE_PERFORMANCE; + } + + public ArrayList getSTORE_ID() { + return STORE_ID; + } + + public void setSTORE_ID(String STORE_ID) { + this.STORE_ID.add(STORE_ID); + } + + public ArrayList getCATEGORY_ID() { + return CATEGORY_ID; + } + + public void setCATEGORY_ID(String CATEGORY_ID) { + this.CATEGORY_ID.add(CATEGORY_ID); + } + + public ArrayList getPERIOD() { + return PERIOD; + } + + public void setPERIOD(String PERIOD) { + this.PERIOD.add(PERIOD); + } + + public ArrayList getSOS() { + return SOS; + } + + public void setSOS(String SOS) { + this.SOS.add(SOS); + } + + public ArrayList getT2P() { + return T2P; + } + + public void setT2P(String t2P) { + this.T2P.add(t2P); + } + + public ArrayList getPROMO() { + return PROMO; + } + + public void setPROMO(String PROMO) { + this.PROMO.add(PROMO); + } + + public ArrayList getMSL_AVAILABILITY() { + return MSL_AVAILABILITY; + } + + public void setMSL_AVAILABILITY(String MSL_AVAILABILITY) { + this.MSL_AVAILABILITY.add(MSL_AVAILABILITY); + } + + public ArrayList getOSS() { + return OSS; + } + + public void setOSS(String OSS) { + this.OSS.add(OSS); + } + + public ArrayList getORDERID() { + return ORDERID; + } + + public void setORDERID(String ORDERID) { + this.ORDERID.add(ORDERID); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/StoreWisePerformaceGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/StoreWisePerformaceGetterSetter.java new file mode 100644 index 0000000..9f290d7 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/StoreWisePerformaceGetterSetter.java @@ -0,0 +1,81 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +/** + * Created by gagang on 23-12-2016. + */ + +public class StoreWisePerformaceGetterSetter { + String store_id, category_id, period, msl_availability, sos, t2p, promo, oss, order_id; + + public String getStore_id() { + return store_id; + } + + public void setStore_id(String store_id) { + this.store_id = store_id; + } + + public String getCategory_id() { + return category_id; + } + + public void setCategory_id(String category_id) { + this.category_id = category_id; + } + + public String getPeriod() { + return period; + } + + public void setPeriod(String period) { + this.period = period; + } + + public String getMsl_availability() { + return msl_availability; + } + + public void setMsl_availability(String msl_availability) { + this.msl_availability = msl_availability; + } + + 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 getOss() { + return oss; + } + + public void setOss(String oss) { + this.oss = oss; + } + + public String getOrder_id() { + return order_id; + } + + public void setOrder_id(String order_id) { + this.order_id = order_id; + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index 28b4f06..dedce85 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -21,6 +21,8 @@ public class TableBean { //Gagan start code public static String MAPPING_ADDITIONAL_PROMOTION; + public static String STORE_PERFORMANCE; + //Gagan end code public static String getJourneyPlan() { @@ -129,5 +131,13 @@ public class TableBean { MAPPING_ADDITIONAL_PROMOTION = mappingAdditionalPromotion; } + public static String getStorePerformance() { + return STORE_PERFORMANCE; + } + + public static void setStorePerformance(String storePerformance) { + STORE_PERFORMANCE = storePerformance; + } + //Gagan end code } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index d152992..96db1b3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -18,6 +18,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.STORE_PERFORMANCE_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; @@ -621,5 +622,53 @@ public class XMLHandlers { return map; } + + public static STORE_PERFORMANCE_MasterGetterSetter STORE_PERFORMANCEXMLHandler(XmlPullParser xpp, int eventType) { + STORE_PERFORMANCE_MasterGetterSetter st = new STORE_PERFORMANCE_MasterGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + + if (xpp.getName().equals("META_DATA")) { + st.setTable_STORE_PERFORMANCE(xpp.nextText()); + } + if (xpp.getName().equals("STORE_ID")) { + st.setSTORE_ID(xpp.nextText()); + } + if (xpp.getName().equals("CATEGORY_ID")) { + st.setCATEGORY_ID(xpp.nextText()); + } + if (xpp.getName().equals("PERIOD")) { + st.setPERIOD(xpp.nextText()); + } + if (xpp.getName().equals("SOS")) { + st.setSOS(xpp.nextText()); + } + if (xpp.getName().equals("T2P")) { + st.setT2P(xpp.nextText()); + } + if (xpp.getName().equals("PROMO")) { + st.setPROMO(xpp.nextText()); + } + if (xpp.getName().equals("MSL_AVAILABILITY")) { + st.setMSL_AVAILABILITY(xpp.nextText()); + } + if (xpp.getName().equals("OSS")) { + st.setOSS(xpp.nextText()); + } + if (xpp.getName().equals("ORDERID")) { + st.setORDERID(xpp.nextText()); + } + } + xpp.next(); + } + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return st; + } //Gagan End Code } diff --git a/GSKMTOrange/src/main/res/drawable/hfd.png b/GSKMTOrange/src/main/res/drawable/hfd.png index 8278277..f8b2211 100644 Binary files a/GSKMTOrange/src/main/res/drawable/hfd.png and b/GSKMTOrange/src/main/res/drawable/hfd.png differ diff --git a/GSKMTOrange/src/main/res/drawable/hfd_done.png b/GSKMTOrange/src/main/res/drawable/hfd_done.png index 073f978..90def7b 100644 Binary files a/GSKMTOrange/src/main/res/drawable/hfd_done.png and b/GSKMTOrange/src/main/res/drawable/hfd_done.png differ diff --git a/GSKMTOrange/src/main/res/drawable/ohc.png b/GSKMTOrange/src/main/res/drawable/ohc.png index 9ccf323..ba146f8 100644 Binary files a/GSKMTOrange/src/main/res/drawable/ohc.png and b/GSKMTOrange/src/main/res/drawable/ohc.png differ diff --git a/GSKMTOrange/src/main/res/drawable/ohc_done.png b/GSKMTOrange/src/main/res/drawable/ohc_done.png index 9654568..7c96401 100644 Binary files a/GSKMTOrange/src/main/res/drawable/ohc_done.png and b/GSKMTOrange/src/main/res/drawable/ohc_done.png differ diff --git a/GSKMTOrange/src/main/res/drawable/pdr.png b/GSKMTOrange/src/main/res/drawable/pdr.png index 9190d2d..8d4b787 100644 Binary files a/GSKMTOrange/src/main/res/drawable/pdr.png and b/GSKMTOrange/src/main/res/drawable/pdr.png differ diff --git a/GSKMTOrange/src/main/res/drawable/pdr_done.png b/GSKMTOrange/src/main/res/drawable/pdr_done.png index 4b99cf5..ed70cc6 100644 Binary files a/GSKMTOrange/src/main/res/drawable/pdr_done.png and b/GSKMTOrange/src/main/res/drawable/pdr_done.png differ diff --git a/GSKMTOrange/src/main/res/layout/activity_store_wise_performance.xml b/GSKMTOrange/src/main/res/layout/activity_store_wise_performance.xml new file mode 100644 index 0000000..c41a876 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_store_wise_performance.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml b/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml index 0dbc80b..7f24658 100644 --- a/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml +++ b/GSKMTOrange/src/main/res/layout/content_category_wise_performance.xml @@ -24,14 +24,123 @@ android:text="Category Performance" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@android:color/black" - android:visibility="gone"/> + android:visibility="gone" /> - + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/content_store_wise_performance.xml b/GSKMTOrange/src/main/res/layout/content_store_wise_performance.xml new file mode 100644 index 0000000..7f24658 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_store_wise_performance.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml b/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml index 2a448be..195204d 100644 --- a/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml +++ b/GSKMTOrange/src/main/res/layout/item_category_wise_performance.xml @@ -15,7 +15,6 @@ android:layout_height="match_parent" android:orientation="horizontal" android:weightSum="30"> - + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="#000" /> - - - - - - - - - - - - + android:background="@color/colorPrimary" /> + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="#000" /> + android:background="@color/colorPrimary" /> + + + + + + + + + + + + + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="#000" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/values-tr/string.xml b/GSKMTOrange/src/main/res/values-tr/string.xml index 11235dc..24b71fe 100644 --- a/GSKMTOrange/src/main/res/values-tr/string.xml +++ b/GSKMTOrange/src/main/res/values-tr/string.xml @@ -47,4 +47,54 @@ Veri Paylaş + + Kategoriler + Kategori Performansı + Günlük Veri Menüsü + Bulunurluk + Raf Payı + + Bulunurluk + Raf Payı + Kalıcı Teşhir + Ek Teşhir + Promosyon + Rakip Bilgisi + Promosyon + + Ürün Adı + X + Bulunurluk + + Örnek Fotoğraf + Ürün Adı + X + Önyüz + Raf Payı Hedefi + + Promosyon + + Additional Promos + Promos + Promosyon Ürünü + Promosyon Ürünü + Ürün Bulunuyor + Duyuru Var + Kasa Okuyor + Add + + Zaman + Bulunurluk + Raf Payi + Kalici Teshir + Promosyon + TMP + + Son 3 Ay + Bu Ay + Son Ziyaret + + Mağaza Performansı + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml index b138052..39a13d0 100644 --- a/GSKMTOrange/src/main/res/values/strings.xml +++ b/GSKMTOrange/src/main/res/values/strings.xml @@ -120,6 +120,18 @@ Running on POS Add + Period + MSL Availability + SOS + T2P + Promo + OSS + + LTM + MTD + LSV + + Store wise Performance