//PromoCompliance Default Toggle Changes

This commit is contained in:
Gagan290
2017-02-22 12:19:42 +05:30
parent 6eb5517834
commit ca1d29bca5
8 changed files with 539 additions and 217 deletions
@@ -3659,7 +3659,19 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
public void InsertStock_Facing_PlanogramTracker(String storeId, String categoryId, String company_id, String brand_id, String sub_category_id, public void InsertStock_Facing_PlanogramTracker(String storeId, String categoryId, String company_id, String brand_id, String sub_category_id,
List<StockFacing_PlanogramTrackerDataGetterSetter> hashMapListHeaderData, List<StockFacing_PlanogramTrackerDataGetterSetter> hashMapListHeaderData,
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> hashMapListChildData) { HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> hashMapListChildData) {
//Delete child sku data
for (int i1 = 0; i1 < hashMapListHeaderData.size(); i1++) {
db.delete(CommonString.TABLE_INSERT_STOCK_FACING_PLANOGRAM_TRACKER_CHILD,
"common_id='" + hashMapListHeaderData.get(i1).getKey_id() + "'", null);
}
//Delete Header shelf data
db.delete(CommonString.TABLE_INSERT_STOCK_FACING_PLANOGRAM_TRACKER_HEADER,
"store_id='" + storeId + "' And category_id='" + categoryId + "' ", null);
//Insert the data
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
ContentValues values1 = new ContentValues(); ContentValues values1 = new ContentValues();
@@ -3892,7 +3904,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
"inner join CATEGORY_MASTER CA " + "inner join CATEGORY_MASTER CA " +
"on SB.CATEGORY_ID=CA.CATEGORY_ID " + "on SB.CATEGORY_ID=CA.CATEGORY_ID " +
"where CA.CATEGORY_ID='" + category_id + "' AND M.KEYACCOUNT_ID = '" + keyAccount_id + "where CA.CATEGORY_ID='" + category_id + "' AND M.KEYACCOUNT_ID = '" + keyAccount_id +
"' AND M.STORETYPE_ID = '" + storeType_id + "' AND M.CLASS_ID = '" + class_id + "'" + "' AND M.STORETYPE_ID = '" + storeType_id + "' AND M.CLASS_ID = '" + class_id + "' AND BR.COMPANY_ID = 1 " +
"order by SB.SUB_CATEGORY,BR.COMPANY_ID,BR.BRAND", null); "order by SB.SUB_CATEGORY,BR.COMPANY_ID,BR.BRAND", null);
if (dbcursor != null) { if (dbcursor != null) {
@@ -3952,6 +3964,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
cd.setSku_sequence(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_SEQUENCE"))); cd.setSku_sequence(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_SEQUENCE")));
cd.setMbq(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MBQ"))); cd.setMbq(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MBQ")));
cd.setCompany_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("COMPANY_ID"))); cd.setCompany_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("COMPANY_ID")));
cd.setCheckbox_sku("0");
list.add(cd); list.add(cd);
dbcursor.moveToNext(); dbcursor.moveToNext();
@@ -3966,4 +3979,124 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
return list; return list;
} }
public ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> getPlanogramAddShelfHeaderAfterSaveData(
String store_id, String category_id) {
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> list = new ArrayList<>();
Cursor dbcursor = null;
try {
dbcursor = db.rawQuery("Select * from Stock_Facing_Planogram_Header_Data " +
"where Store_id='" + store_id + "' and category_id='" + category_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
StockFacing_PlanogramTrackerDataGetterSetter cd = new StockFacing_PlanogramTrackerDataGetterSetter();
cd.setKey_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("KEY_ID")));
cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("category_id")));
cd.setSp_addShelf_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_id")));
cd.setSp_addShelf(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf")));
cd.setSp_shelfPosition(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_Position")));
list.add(cd);
dbcursor.moveToNext();
}
dbcursor.close();
return list;
}
} catch (Exception e) {
Log.d("Exception ", "get Planogram Shelf Header After Save !" + e.toString());
return list;
}
return list;
}
public ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> getStockAndFacingPlanogramAfterSKUData(
String key_id) {
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> list = new ArrayList<>();
Cursor dbcursor = null;
try {
//Select * from Stock_Facing_Planogram_Child_Data where Shelf_id=1 and Shelf_Position=3
dbcursor = db.rawQuery("Select * from Stock_Facing_Planogram_Child_Data " +
"where common_id='" + key_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
StockFacing_PlanogramTrackerDataGetterSetter cd = new StockFacing_PlanogramTrackerDataGetterSetter();
cd.setSp_addShelf_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_id")));
cd.setSp_addShelf(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf")));
cd.setSp_shelfPosition(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_Position")));
cd.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("sku_id")));
cd.setSku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("sku")));
cd.setCheckbox_sku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("checkbox_sku")));
list.add(cd);
dbcursor.moveToNext();
}
dbcursor.close();
return list;
}
} catch (Exception e) {
Log.d("Exception ", "get MSL_AvailabilityHeader!" + e.toString());
return list;
}
return list;
}
public ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> getStockAndFacingPlanogramAfterSKU_PerShelfData(
String shelf_id, String shelf_position) {
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> list = new ArrayList<>();
Cursor dbcursor = null;
try {
dbcursor = db.rawQuery("Select * from Stock_Facing_Planogram_Child_Data " +
"where Shelf_id='" + shelf_id + "' and Shelf_Position='" + shelf_position + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
StockFacing_PlanogramTrackerDataGetterSetter cd = new StockFacing_PlanogramTrackerDataGetterSetter();
cd.setSp_addShelf_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_id")));
cd.setSp_addShelf(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf")));
cd.setSp_shelfPosition(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_Position")));
cd.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("sku_id")));
cd.setSku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("sku")));
cd.setCheckbox_sku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("checkbox_sku")));
list.add(cd);
dbcursor.moveToNext();
}
dbcursor.close();
return list;
}
} catch (Exception e) {
Log.d("Exception ", "get MSL_AvailabilityHeader!" + e.toString());
return list;
}
return list;
}
public void deletePlanogramListStoreAndCategorywise(String storeId, String categoryId,
List<StockFacing_PlanogramTrackerDataGetterSetter> hashMapListHeaderData,
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> hashMapListChildData) {
for (int i1 = 0; i1 < hashMapListHeaderData.size(); i1++) {
db.delete(CommonString.TABLE_INSERT_STOCK_FACING_PLANOGRAM_TRACKER_CHILD,
"common_id='" + hashMapListHeaderData.get(i1).getKey_id() + "'", null);
}
//Delete Header shelf data
db.delete(CommonString.TABLE_INSERT_STOCK_FACING_PLANOGRAM_TRACKER_HEADER,
"store_id='" + storeId + "' And category_id='" + categoryId + "' ", null);
}
} }
@@ -44,6 +44,7 @@ import android.widget.Toast;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -68,8 +69,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
List<Integer> checkHeaderArray = new ArrayList<>(); List<Integer> checkHeaderArray = new ArrayList<>();
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> shelfHeaderDataList = new ArrayList<>(); ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> shelfHeaderDataList = new ArrayList<>();
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> childDataList, tempChildDataList; ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> childDataList, tempChildDataList, childDataList2;
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> hashMapListChildData = new HashMap<>(); HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> hashMapListChildData = new HashMap<>();
private SharedPreferences preferences; private SharedPreferences preferences;
String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow; String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow;
@@ -77,7 +78,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
ExpandableListAdapter adapter1; ExpandableListAdapter adapter1;
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> addSkuHeaderList; ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> addSkuHeaderList;
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> addSkuChildList; ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> addSkuChildList;
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> addSkuHashMapChildData; HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> addSkuHashMapChildData;
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> list;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@@ -136,6 +138,11 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
shelfAdapter.add(shelfList.get(j).getShelf()); shelfAdapter.add(shelfList.get(j).getShelf());
} }
//DefaultList
prepareDefaultList();
btn_addShelf.setOnClickListener(new View.OnClickListener() { btn_addShelf.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(final View view1) { public void onClick(final View view1) {
@@ -197,10 +204,41 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
if (!data.getSp_addShelf_id().equals("0") && !data.getSp_shelfPosition().equals("Select")) { if (!data.getSp_addShelf_id().equals("0") && !data.getSp_shelfPosition().equals("Select")) {
shelfHeaderDataList.add(data); //Check here the shelf and position is already exists or not
//if (shelfHeaderDataList.size() > 0) {
dialog.dismiss(); //Checking shelf is exists or not, if not add the shelf
prepareHeaderList(shelfHeaderDataList); boolean isContain = false;
for (int i = 0; i < shelfHeaderDataList.size(); i++) {
if (data.getSp_addShelf_id().equals(shelfHeaderDataList.get(i).getSp_addShelf_id())
&& data.getSp_shelfPosition().equals(shelfHeaderDataList.get(i).getSp_shelfPosition())) {
isContain = true;
break;
}
}
if (isContain) {
Snackbar.make(view, data.getSp_addShelf() +
getString(R.string.stock_planogram_shelf_position) + data.getSp_shelfPosition()
+ getString(R.string.stock_planogram_already_exists)
, Snackbar.LENGTH_LONG).setAction("Action", null).show();
} else {
shelfHeaderDataList.add(data);
dialog.dismiss();
//Sort Shelf wise
//Collections.sort(shelfHeaderDataList, StockFacing_PlanogramTrackerDataGetterSetter.shelfComparator);
//Sort Shelf Position wise
//Collections.sort(shelfHeaderDataList, StockFacing_PlanogramTrackerDataGetterSetter.shelfPositionComparator);
prepareHeaderList(shelfHeaderDataList);
}
/*shelfHeaderDataList.add(data);
dialog.dismiss();
prepareHeaderList(shelfHeaderDataList);*/
// }
} else { } else {
Toast.makeText(StockFacing_PlanogramTrackerActivity.this, getResources().getString(R.string.empty_field), Toast.LENGTH_SHORT).show(); Toast.makeText(StockFacing_PlanogramTrackerActivity.this, getResources().getString(R.string.empty_field), Toast.LENGTH_SHORT).show();
} }
@@ -216,8 +254,6 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
fab.setOnClickListener(new View.OnClickListener() { fab.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
/*Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();*/
if (validateData(shelfHeaderDataList, hashMapListChildData)) { if (validateData(shelfHeaderDataList, hashMapListChildData)) {
AlertDialog.Builder builder = new AlertDialog.Builder(StockFacing_PlanogramTrackerActivity.this); AlertDialog.Builder builder = new AlertDialog.Builder(StockFacing_PlanogramTrackerActivity.this);
@@ -226,8 +262,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
.setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() { .setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) { public void onClick(DialogInterface dialog, int id) {
/*db.InsertStock_Facing_PlanogramTracker(store_id, categoryId, company_id, brand_id, db.InsertStock_Facing_PlanogramTracker(store_id, categoryId, company_id, brand_id,
sub_category_id, shelfHeaderDataList, hashMapListChildData);*/ sub_category_id, shelfHeaderDataList, hashMapListChildData);
finish(); finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
@@ -256,7 +292,6 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
}); });
expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() { expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override @Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
@@ -290,104 +325,58 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
return true; return true;
} }
}); });
/*expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int lastItem = firstVisibleItem + visibleItemCount;
*//*if (firstVisibleItem == 0) {
fab.setVisibility(View.VISIBLE);
} else if (lastItem == totalItemCount) {
fab.setVisibility(View.INVISIBLE);
} else {
fab.setVisibility(View.VISIBLE);
}*//*
}
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
InputMethodManager inputManager = (InputMethodManager) getApplicationContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (getCurrentFocus() != null) {
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
getCurrentFocus().clearFocus();
}
//expandableListView.invalidateViews();
}
});
// Listview Group click listener
expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
return false;
}
});
// Listview Group expanded listener
expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
InputMethodManager inputManager = (InputMethodManager) getApplicationContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (getWindow().getCurrentFocus() != null) {
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
getCurrentFocus().clearFocus();
}
}
});
// Listview Group collasped listener
expandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
InputMethodManager inputManager = (InputMethodManager) getApplicationContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (getWindow().getCurrentFocus() != null) {
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
getCurrentFocus().clearFocus();
}
}
});
// Listview on child click listener
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition,
int childPosition, long id) {
return false;
}
});*/
} catch (Resources.NotFoundException e) { } catch (Resources.NotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
private void prepareDefaultList() {
//After save shelf header data
shelfHeaderDataList = db.getPlanogramAddShelfHeaderAfterSaveData(store_id, categoryId);
if (shelfHeaderDataList.size() > 0) {
//Sort Shelf Position wise
Collections.sort(shelfHeaderDataList, StockFacing_PlanogramTrackerDataGetterSetter.shelfPositionComparator);
//Sort Shelf wise
Collections.sort(shelfHeaderDataList, StockFacing_PlanogramTrackerDataGetterSetter.shelfComparator);
for (int i = 0; i < shelfHeaderDataList.size(); i++) {
childDataList = db.getStockAndFacingPlanogramAfterSKUData(shelfHeaderDataList.get(i).getKey_id());
//After save sku child data
if (childDataList.size() > 0) {
hashMapListChildData.put(shelfHeaderDataList.get(i), childDataList);
}
}
}
adapter = new PlanogramExpandableListAdapter(this, shelfHeaderDataList, hashMapListChildData);
expandableListView.setAdapter(adapter);
if (childDataList != null && childDataList.size() > 0) {
for (int j = 0; j < shelfHeaderDataList.size(); j++) {
if (hashMapListChildData.get(shelfHeaderDataList.get(j)).size() > 0) {
expandableListView.expandGroup(j);
}
}
}
}
//New Shelf Add
private void prepareHeaderList(ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> shelfHeaderDataList1) { private void prepareHeaderList(ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> shelfHeaderDataList1) {
try { try {
//Header Data //Header Data
if (shelfHeaderDataList1.size() > 0) { if (shelfHeaderDataList1.size() > 0) {
/*for (int i = 0; i < shelfHeaderDataList.size(); i++) { adapter.notifyDataSetChanged();
hashMapListChildData.put(shelfHeaderDataList.get(i), childDataList);
*//*if (childDataList != null && childDataList.size() > 0) { /*adapter = new PlanogramExpandableListAdapter(this, shelfHeaderDataList1, hashMapListChildData);
if (shelfHeaderDataList.get(i).getSp_addShelf_id().equals(childDataList.get(i).getSp_addShelf_id())) { expandableListView.setAdapter(adapter);*/
hashMapListChildData.put(shelfHeaderDataList.get(i), childDataList);
} else {
hashMapListChildData.put(shelfHeaderDataList.get(i), tempChildDataList);
}
} else {
hashMapListChildData.put(shelfHeaderDataList.get(i), tempChildDataList);
}*//*
}*/
adapter = new PlanogramExpandableListAdapter(this, shelfHeaderDataList1, hashMapListChildData); if (childDataList2 != null && childDataList2.size() > 0) {
expandableListView.setAdapter(adapter);
if (childDataList != null && childDataList.size() > 0) {
for (int j = 0; j < shelfHeaderDataList.size(); j++) { for (int j = 0; j < shelfHeaderDataList.size(); j++) {
if (hashMapListChildData.get(shelfHeaderDataList.get(j)).size() > 0) { if (hashMapListChildData.get(shelfHeaderDataList.get(j)).size() > 0) {
expandableListView.expandGroup(j); expandableListView.expandGroup(j);
@@ -400,29 +389,35 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
} }
private void prepareSkuList(ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> childDataList1, //Sku Add in Particular Shelf with position
StockFacing_PlanogramTrackerDataGetterSetter object) { private void prepareSkuList(StockFacing_PlanogramTrackerDataGetterSetter object,
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> childDataList1,
HashMap<StockFacing_PlanogramTrackerDataGetterSetter,
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> addSkuHashMapChildData1) {
try { try {
if (shelfHeaderDataList.size() > 0) { childDataList2 = new ArrayList<>();
hashMapListChildData.put(object, childDataList1); for (int i1 = 0; i1 < childDataList1.size(); i1++) {
/*//Child Sku Data ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> tempList =
for (int i = 0; i < shelfHeaderDataList.size(); i++) { addSkuHashMapChildData1.get(childDataList1.get(i1));
if (object.getSp_addShelf_id().equals(shelfHeaderDataList.get(i).getSp_addShelf_id())) {
hashMapListChildData.put(object, childDataList1); for (int j = 0; j < tempList.size(); j++) {
} else { StockFacing_PlanogramTrackerDataGetterSetter data = tempList.get(j);
hashMapListChildData.put(shelfHeaderDataList.get(i), childDataList);
data.setSp_addShelf_id(object.getSp_addShelf_id());
if (data.getCheckbox_sku().equals("1")) {
childDataList2.add(data);
} }
}*/ }
}
/* adapter = new PlanogramExpandableListAdapter(this, shelfHeaderDataList, hashMapListChildData);
expandableListView.setAdapter(adapter);*/
if (shelfHeaderDataList.size() > 0) {
//Child Sku Data
hashMapListChildData.put(object, childDataList2);
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
//expandableListView.invalidate();
if (childDataList2 != null && childDataList2.size() > 0) {
if (childDataList != null && childDataList.size() > 0) {
for (int j = 0; j < shelfHeaderDataList.size(); j++) { for (int j = 0; j < shelfHeaderDataList.size(); j++) {
if (hashMapListChildData.get(shelfHeaderDataList.get(j)).size() > 0) { if (hashMapListChildData.get(shelfHeaderDataList.get(j)).size() > 0) {
expandableListView.expandGroup(j); expandableListView.expandGroup(j);
@@ -438,10 +433,10 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
public class PlanogramExpandableListAdapter extends BaseExpandableListAdapter { public class PlanogramExpandableListAdapter extends BaseExpandableListAdapter {
private Context _context; private Context _context;
private List<StockFacing_PlanogramTrackerDataGetterSetter> _listDataHeader; private List<StockFacing_PlanogramTrackerDataGetterSetter> _listDataHeader;
private HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> _listDataChild; private HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> _listDataChild;
public PlanogramExpandableListAdapter(Context context, List<StockFacing_PlanogramTrackerDataGetterSetter> listDataHeader, public PlanogramExpandableListAdapter(Context context, List<StockFacing_PlanogramTrackerDataGetterSetter> listDataHeader,
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> listChildData) { HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> listChildData) {
this._context = context; this._context = context;
this._listDataHeader = listDataHeader; this._listDataHeader = listDataHeader;
this._listDataChild = listChildData; this._listDataChild = listChildData;
@@ -482,8 +477,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
//Stock Facing Planogram SKU Data //Stock Facing Planogram SKU Data
tempChildDataList = db.getStockAndFacingPlanogramDefaultSKUData(categoryId, brand_id, /*tempChildDataList = db.getStockAndFacingPlanogramDefaultSKUData(categoryId, brand_id,
keyAccount_id, storeType_id, class_id); keyAccount_id, storeType_id, class_id);*/
final Dialog dialog1 = new Dialog(StockFacing_PlanogramTrackerActivity.this); final Dialog dialog1 = new Dialog(StockFacing_PlanogramTrackerActivity.this);
dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -491,7 +486,7 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
dialog1.setContentView(R.layout.dialog_stock_facing_planogram_tracker_add_sku); dialog1.setContentView(R.layout.dialog_stock_facing_planogram_tracker_add_sku);
//LinearLayout lin_addSku = (LinearLayout) dialog1.findViewById(R.id.lin_addSku); //LinearLayout lin_addSku = (LinearLayout) dialog1.findViewById(R.id.lin_addSku);
Button addSKU = (Button) dialog1.findViewById(R.id.dialog_btn_addSku_Shelf); Button addSku_Shelf = (Button) dialog1.findViewById(R.id.dialog_btn_addSku_Shelf);
Button cancel = (Button) dialog1.findViewById(R.id.dialog_btn_cancel_addSku); Button cancel = (Button) dialog1.findViewById(R.id.dialog_btn_cancel_addSku);
ExpandableListView exp_addSkuListView = (ExpandableListView) dialog1.findViewById(R.id.exp_addSkuListView); ExpandableListView exp_addSkuListView = (ExpandableListView) dialog1.findViewById(R.id.exp_addSkuListView);
@@ -502,7 +497,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
}); });
dialogAddSkuList(exp_addSkuListView); //Add Sku Dailog List
dialogAddSkuList(exp_addSkuListView, headerTitle);
/*childDataList = new ArrayList<>(); /*childDataList = new ArrayList<>();
@@ -538,24 +534,33 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
lin_addSku.addView(view1); lin_addSku.addView(view1);
}*/ }*/
addSKU.setOnClickListener(new View.OnClickListener() {
addSku_Shelf.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
/*boolean flag = false; boolean flag = false;
for (int i = 0; i < childDataList.size(); i++) {
if (childDataList.get(i).getCheckbox_sku().equals("1")) { for (int i1 = 0; i1 < addSkuHeaderList.size(); i1++) {
flag = true; ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> tempList =
break; addSkuHashMapChildData.get(addSkuHeaderList.get(i1));
for (int j = 0; j < tempList.size(); j++) {
StockFacing_PlanogramTrackerDataGetterSetter data = tempList.get(j);
if (data.getCheckbox_sku().equals("1")) {
flag = true;
break;
}
} }
} }
if (flag) { if (flag) {
prepareSkuList(childDataList, headerTitle); prepareSkuList(headerTitle, addSkuHeaderList, addSkuHashMapChildData);
dialog1.dismiss(); dialog1.dismiss();
} else { } else {
Snackbar.make(view, "Please select atleast one sku", Snackbar.LENGTH_LONG) Snackbar.make(view, getString(R.string.stock_planogram_data_select_one_sku), Snackbar.LENGTH_LONG)
.setAction("Action", null).show(); .setAction("Action", null).show();
}*/ }
} }
}); });
@@ -591,7 +596,9 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
@Override @Override
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { public View getChildView(int groupPosition, final int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
StockFacing_PlanogramTrackerDataGetterSetter childData = StockFacing_PlanogramTrackerDataGetterSetter childData =
(StockFacing_PlanogramTrackerDataGetterSetter) getChild(groupPosition, childPosition); (StockFacing_PlanogramTrackerDataGetterSetter) getChild(groupPosition, childPosition);
ViewHolder holder = null; ViewHolder holder = null;
@@ -610,7 +617,7 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
holder = (ViewHolder) convertView.getTag(); holder = (ViewHolder) convertView.getTag();
} }
//holder.checkBox.setVisibility(View.GONE); holder.checkBox.setVisibility(View.GONE);
holder.checkBox.setEnabled(false); holder.checkBox.setEnabled(false);
holder.txt_skuChild.setText(childData.getSku()); holder.txt_skuChild.setText(childData.getSku());
@@ -642,7 +649,7 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
boolean validateData(List<StockFacing_PlanogramTrackerDataGetterSetter> listDataHeader, boolean validateData(List<StockFacing_PlanogramTrackerDataGetterSetter> listDataHeader,
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> listDataChild) { HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> listDataChild) {
boolean flag = true; boolean flag = true;
checkHeaderArray.clear(); checkHeaderArray.clear();
@@ -654,7 +661,7 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
checkflag = false; checkflag = false;
Error_Message = "add sku shelf can not be empty"; Error_Message = getString(R.string.stock_planogram_data_add_shelf);
break; break;
} else { } else {
if (listDataChild.get(listDataHeader.get(i)).size() <= 0) { if (listDataChild.get(listDataHeader.get(i)).size() <= 0) {
@@ -663,7 +670,7 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
flag = false; flag = false;
Error_Message = "add sku shelf can not be empty"; Error_Message = getString(R.string.stock_planogram_data_add_shelf);
break; break;
} }
} }
@@ -729,8 +736,16 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
private void dialogAddSkuList(ExpandableListView exp_addSkuListView) { //Add Sku Dailog Display List
private void dialogAddSkuList(ExpandableListView exp_addSkuListView,
StockFacing_PlanogramTrackerDataGetterSetter headerObject) {
try { try {
//By this headerObject we need to get the sku list
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> tempSkuList = new ArrayList<>();
tempSkuList = db.getStockAndFacingPlanogramAfterSKU_PerShelfData(headerObject.getSp_addShelf_id(),
headerObject.getSp_shelfPosition());
addSkuHeaderList = new ArrayList<>(); addSkuHeaderList = new ArrayList<>();
addSkuChildList = new ArrayList<>(); addSkuChildList = new ArrayList<>();
addSkuHashMapChildData = new HashMap<>(); addSkuHashMapChildData = new HashMap<>();
@@ -744,10 +759,29 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
//Child Data //Child Data
if (addSkuHeaderList.get(i).getCompany_id().equals("1")) { if (addSkuHeaderList.get(i).getCompany_id().equals("1")) {
addSkuChildList = db.getPlanogramAddSkuChildData(categoryId, addSkuHeaderList.get(i).getBrand_id(), //Default Case
keyAccount_id, storeType_id, class_id); if (!(tempSkuList.size() > 0)) {
addSkuChildList = db.getPlanogramAddSkuChildData(categoryId, addSkuHeaderList.get(i).getBrand_id(),
keyAccount_id, storeType_id, class_id);
addSkuHashMapChildData.put(addSkuHeaderList.get(i), addSkuChildList);
} else { //After Save Sku Data
addSkuChildList = db.getPlanogramAddSkuChildData(categoryId, addSkuHeaderList.get(i).getBrand_id(),
keyAccount_id, storeType_id, class_id);
for (int i1 = 0; i1 < addSkuChildList.size(); i1++) {
for (int j = 0; j < tempSkuList.size(); j++) {
if (addSkuChildList.get(i1).getSku_id().equals(tempSkuList.get(j).getSku_id())) {
addSkuChildList.set(i1, tempSkuList.get(j));
}
}
}
addSkuHashMapChildData.put(addSkuHeaderList.get(i), addSkuChildList);
}
addSkuHashMapChildData.put(addSkuHeaderList.get(i), addSkuChildList);
} }
} }
} }
@@ -759,13 +793,14 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
} }
//Add Sku Dailog Display List Adapter
public class ExpandableListAdapter extends BaseExpandableListAdapter { public class ExpandableListAdapter extends BaseExpandableListAdapter {
private Context _context; private Context _context;
private List<StockFacing_PlanogramTrackerDataGetterSetter> _listDataHeader; private List<StockFacing_PlanogramTrackerDataGetterSetter> _listDataHeader;
private HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> _listDataChild; private HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> _listDataChild;
public ExpandableListAdapter(Context context, List<StockFacing_PlanogramTrackerDataGetterSetter> listDataHeader, public ExpandableListAdapter(Context context, List<StockFacing_PlanogramTrackerDataGetterSetter> listDataHeader,
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, List<StockFacing_PlanogramTrackerDataGetterSetter>> listChildData) { HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> listChildData) {
this._context = context; this._context = context;
this._listDataHeader = listDataHeader; this._listDataHeader = listDataHeader;
this._listDataChild = listChildData; this._listDataChild = listChildData;
@@ -788,7 +823,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
@Override @Override
public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
final StockFacing_PlanogramTrackerDataGetterSetter headerTitle = (StockFacing_PlanogramTrackerDataGetterSetter) getGroup(groupPosition); final StockFacing_PlanogramTrackerDataGetterSetter headerTitle =
(StockFacing_PlanogramTrackerDataGetterSetter) getGroup(groupPosition);
if (convertView == null) { if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -819,7 +855,8 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
} }
@Override @Override
public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
final StockFacing_PlanogramTrackerDataGetterSetter childData = final StockFacing_PlanogramTrackerDataGetterSetter childData =
(StockFacing_PlanogramTrackerDataGetterSetter) getChild(groupPosition, childPosition); (StockFacing_PlanogramTrackerDataGetterSetter) getChild(groupPosition, childPosition);
@@ -840,6 +877,22 @@ public class StockFacing_PlanogramTrackerActivity extends AppCompatActivity {
holder.txt_skuName.setText(childData.getSku()); holder.txt_skuName.setText(childData.getSku());
holder.chk_sku.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isCheck) {
if (isCheck) {
childData.setCheckbox_sku("1");
} else {
childData.setCheckbox_sku("0");
}
}
});
if (childData.getCheckbox_sku().equals("0")) {
holder.chk_sku.setChecked(false);
} else if (childData.getCheckbox_sku().equals("1")) {
holder.chk_sku.setChecked(true);
}
return convertView; return convertView;
} }
@@ -70,6 +70,7 @@ import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.dailyentry.T2PComplianceActivity; import cpm.com.gskmtorange.dailyentry.T2PComplianceActivity;
import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_PLANOGRAM_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_PLANOGRAM_DataGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.StockFacing_PlanogramTrackerDataGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.Stock_FacingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Stock_FacingGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.Store_wise_camera_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Store_wise_camera_DataGetterSetter;
@@ -100,6 +101,10 @@ public class Stock_FacingActivity extends AppCompatActivity {
String img3 = "", img4 = "", img5 = "", img6 = ""; String img3 = "", img4 = "", img5 = "", img6 = "";
Store_wise_camera_DataGetterSetter cameraData; Store_wise_camera_DataGetterSetter cameraData;
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> planogramShelfHeaderDataList = new ArrayList<>();
ArrayList<StockFacing_PlanogramTrackerDataGetterSetter> planogramSkuChildDataList;
HashMap<StockFacing_PlanogramTrackerDataGetterSetter, ArrayList<StockFacing_PlanogramTrackerDataGetterSetter>> planogramHashMapListChildData = new HashMap<>();
private static boolean updateResources(Context context, String language) { private static boolean updateResources(Context context, String language) {
String lang; String lang;
@@ -179,7 +184,6 @@ public class Stock_FacingActivity extends AppCompatActivity {
//Camera //Camera
cameraMethod(); cameraMethod();
final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() { fab.setOnClickListener(new View.OnClickListener() {
@Override @Override
@@ -203,12 +207,12 @@ public class Stock_FacingActivity extends AppCompatActivity {
db.open(); db.open();
//Camera insert or update //Camera insert or update
if (db.isStorewiseCameraSave(store_id, categoryId)) { /*if (db.isStorewiseCameraSave(store_id, categoryId)) {
db.updateStore_wise_camera(cameraData); db.updateStore_wise_camera(cameraData);
} else { } else {
cameraData.setCheckSaveStatus("1"); cameraData.setCheckSaveStatus("1");
db.InsertStore_wise_camera(cameraData); db.InsertStore_wise_camera(cameraData);
} }*/
//Stock Facing insert or update //Stock Facing insert or update
if (db.checkStockAndFacingData(store_id, categoryId)) { if (db.checkStockAndFacingData(store_id, categoryId)) {
@@ -338,8 +342,26 @@ public class Stock_FacingActivity extends AppCompatActivity {
} }
//Planogram List for check and delete on backPress
private void prepareDefaultList() {
// Planogram After save shelf header data
planogramShelfHeaderDataList = db.getPlanogramAddShelfHeaderAfterSaveData(store_id, categoryId);
if (planogramShelfHeaderDataList.size() > 0) {
for (int i = 0; i < planogramShelfHeaderDataList.size(); i++) {
planogramSkuChildDataList = db.getStockAndFacingPlanogramAfterSKUData(planogramShelfHeaderDataList.get(i).getKey_id());
//After save sku child data
if (planogramSkuChildDataList.size() > 0) {
planogramHashMapListChildData.put(planogramShelfHeaderDataList.get(i), planogramSkuChildDataList);
}
}
}
}
private void cameraMethod() { private void cameraMethod() {
cameraData = new Store_wise_camera_DataGetterSetter(); /*cameraData = new Store_wise_camera_DataGetterSetter();
if (db.isStorewiseCameraSave(store_id, categoryId)) { if (db.isStorewiseCameraSave(store_id, categoryId)) {
cameraData = db.getStore_wise_camera(store_id, categoryId); cameraData = db.getStore_wise_camera(store_id, categoryId);
@@ -428,7 +450,11 @@ public class Stock_FacingActivity extends AppCompatActivity {
} }
}); });
} else { } else {*/
if (!camera_allow.equals("1")) {
findViewById(R.id.lin_camera).setVisibility(View.VISIBLE);
findViewById(R.id.view_camera2).setVisibility(View.GONE); findViewById(R.id.view_camera2).setVisibility(View.GONE);
findViewById(R.id.view_camera3).setVisibility(View.GONE); findViewById(R.id.view_camera3).setVisibility(View.GONE);
@@ -450,9 +476,11 @@ public class Stock_FacingActivity extends AppCompatActivity {
intent.putExtra("categoryId", categoryId); intent.putExtra("categoryId", categoryId);
intent.putExtra("categoryName", categoryName); intent.putExtra("categoryName", categoryName);
startActivity(intent); startActivityForResult(intent, 100);
} }
}); });
} else {
findViewById(R.id.lin_camera).setVisibility(View.GONE);
} }
} }
@@ -509,20 +537,20 @@ public class Stock_FacingActivity extends AppCompatActivity {
if (camera_allow.equalsIgnoreCase("1")) { if (camera_allow.equalsIgnoreCase("1")) {
//Atleast Single camera is click //Atleast Single camera is click
if (!cameraData.getCamera1().equals("") || !cameraData.getCamera2().equals("") || /*if (!cameraData.getCamera1().equals("") || !cameraData.getCamera2().equals("") ||
!cameraData.getCamera3().equals("") || !cameraData.getCamera4().equals("")) { !cameraData.getCamera3().equals("") || !cameraData.getCamera4().equals("")) {*/
if (!stock.equals("0")) { if (!stock.equals("0")) {
//if (!imagePath.equals("") || !imagePath1.equals("")) { //if (!imagePath.equals("") || !imagePath1.equals("")) {
if (stock.equals("") || faceup.equals("")) { if (stock.equals("") || faceup.equals("")) {
if (!checkHeaderArray.contains(i)) { if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i); checkHeaderArray.add(i);
}
flag = false;
Error_Message = getResources().getString(R.string.fill_data);
break;
} }
flag = false;
Error_Message = getResources().getString(R.string.fill_data);
break;
}
/*} else { /*} else {
if (!checkHeaderArray.contains(i)) { if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i); checkHeaderArray.add(i);
@@ -532,6 +560,38 @@ public class Stock_FacingActivity extends AppCompatActivity {
Error_Message = getResources().getString(R.string.click_image); Error_Message = getResources().getString(R.string.click_image);
break; break;
}*/ }*/
} else {
if (stock.equals("")) {
if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i);
}
flag = false;
Error_Message = getResources().getString(R.string.fill_data);
break;
}
}
/*} else {
flag = false;
Error_Message = getResources().getString(R.string.click_image);
break;
}*/
} else {
//Camera allow disable
//Planogram list is not empty
if (planogramShelfHeaderDataList.size() > 0) {
if (!stock.equals("0")) {
if (stock.equals("") || faceup.equals("")) {
if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i);
}
flag = false;
Error_Message = getResources().getString(R.string.fill_data);
break;
}
} else { } else {
if (stock.equals("")) { if (stock.equals("")) {
if (!checkHeaderArray.contains(i)) { if (!checkHeaderArray.contains(i)) {
@@ -545,33 +605,9 @@ public class Stock_FacingActivity extends AppCompatActivity {
} }
} else { } else {
flag = false; flag = false;
Error_Message = getResources().getString(R.string.click_image); Error_Message = getResources().getString(R.string.stock_planogram_data_noCamera_data);
break; break;
} }
} else {
//Camera allow disable
if (!stock.equals("0")) {
if (stock.equals("") || faceup.equals("")) {
if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i);
}
flag = false;
Error_Message = getResources().getString(R.string.fill_data);
break;
}
} else {
if (stock.equals("")) {
if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i);
}
flag = false;
Error_Message = getResources().getString(R.string.fill_data);
break;
}
}
} }
} else { } else {
if (faceup.equals("")) { if (faceup.equals("")) {
@@ -928,7 +964,7 @@ public class Stock_FacingActivity extends AppCompatActivity {
}*/ }*/
switch (requestCode) { switch (requestCode) {
case 1: /*case 1:
if (resultCode == -1) { if (resultCode == -1) {
if (_pathforcheck != null && !_pathforcheck.equals("")) { if (_pathforcheck != null && !_pathforcheck.equals("")) {
if (new File(str + _pathforcheck).exists()) { if (new File(str + _pathforcheck).exists()) {
@@ -1049,6 +1085,15 @@ public class Stock_FacingActivity extends AppCompatActivity {
} else { } else {
Log.e("Stock & Facing", "User cancelled"); Log.e("Stock & Facing", "User cancelled");
} }
break;*/
case 100:
//Planogram List for check and delete on backPress
prepareDefaultList();
if (planogramShelfHeaderDataList.size() > 0) {
camera1.setBackgroundResource(R.mipmap.camera_grey);
}
break; break;
} }
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
@@ -1072,9 +1117,6 @@ public class Stock_FacingActivity extends AppCompatActivity {
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { 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(); int id = item.getItemId();
if (id == android.R.id.home) { if (id == android.R.id.home) {
@@ -1083,6 +1125,13 @@ public class Stock_FacingActivity extends AppCompatActivity {
builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false) builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false)
.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) { public void onClick(DialogInterface dialog, int id) {
if (!validateData(hashMapListHeaderData, hashMapListChildData, cameraData)) {
if (!camera_allow.equals("1")) {
db.deletePlanogramListStoreAndCategorywise(store_id, categoryId,
planogramShelfHeaderDataList, planogramHashMapListChildData);
}
}
finish(); finish();
} }
}) })
@@ -1188,6 +1237,13 @@ public class Stock_FacingActivity extends AppCompatActivity {
builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false) builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false)
.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) { public void onClick(DialogInterface dialog, int id) {
if (!validateData(hashMapListHeaderData, hashMapListChildData, cameraData)) {
if (!camera_allow.equals("1")) {
db.deletePlanogramListStoreAndCategorywise(store_id, categoryId,
planogramShelfHeaderDataList, planogramHashMapListChildData);
}
}
finish(); finish();
} }
}) })
@@ -1272,7 +1328,7 @@ public class Stock_FacingActivity extends AppCompatActivity {
img_camera2.setVisibility(View.GONE); img_camera2.setVisibility(View.GONE);
} }
//img_camera1.setVisibility(View.GONE); img_camera1.setVisibility(View.GONE);
img_camera2.setVisibility(View.GONE); img_camera2.setVisibility(View.GONE);
//Camera allow enable //Camera allow enable
@@ -424,16 +424,16 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
if (stock_facingHeaderList.size() > 0) { if (stock_facingHeaderList.size() > 0) {
for (int i1 = 0; i1 < stock_facingHeaderList.size(); i1++) { for (int i1 = 0; i1 < stock_facingHeaderList.size(); i1++) {
onXML = "[STOCK_FACING_DATA]" onXML = "[STOCK_FACING_DATA_NEW]"
+ "[MID]" + mid + "[/MID]" + "[MID]" + mid + "[/MID]"
+ "[USER_ID]" + userId + "[/USER_ID]" + "[USER_ID]" + userId + "[/USER_ID]"
+ "[BRAND_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getBrand_id()) + "[/BRAND_ID]" + "[BRAND_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getBrand_id()) + "[/BRAND_ID]"
+ "[IAMGE1]" + stock_facingHeaderList.get(i1).getImage1() + "[/IAMGE1]" //+ "[IAMGE1]" + stock_facingHeaderList.get(i1).getImage1() + "[/IAMGE1]"
+ "[IAMGE2]" + stock_facingHeaderList.get(i1).getImage2() + "[/IAMGE2]" //+ "[IAMGE2]" + stock_facingHeaderList.get(i1).getImage2() + "[/IAMGE2]"
+ "[SKU_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getSku_id()) + "[/SKU_ID]" + "[SKU_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getSku_id()) + "[/SKU_ID]"
+ "[STOCK]" + Integer.parseInt(stock_facingHeaderList.get(i1).getStock()) + "[/STOCK]" + "[STOCK]" + Integer.parseInt(stock_facingHeaderList.get(i1).getStock()) + "[/STOCK]"
+ "[FACEUP]" + Integer.parseInt(stock_facingHeaderList.get(i1).getFacing()) + "[/FACEUP]" + "[FACEUP]" + Integer.parseInt(stock_facingHeaderList.get(i1).getFacing()) + "[/FACEUP]"
+ "[/STOCK_FACING_DATA]"; + "[/STOCK_FACING_DATA_NEW]";
stock_facing_xml = stock_facing_xml + onXML; stock_facing_xml = stock_facing_xml + onXML;
} }
@@ -442,7 +442,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA);
request.addProperty("XMLDATA", sos_xml); request.addProperty("XMLDATA", sos_xml);
request.addProperty("KEYS", "STOCK_FACING_DATA"); request.addProperty("KEYS", "STOCK_FACING_DATA_NEW");
request.addProperty("USERNAME", userId); request.addProperty("USERNAME", userId);
request.addProperty("MID", mid); request.addProperty("MID", mid);
@@ -832,13 +832,13 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
+ "[MID]" + mid + "[/MID]" + "[MID]" + mid + "[/MID]"
+ "[USER_ID]" + userId + "[/USER_ID]" + "[USER_ID]" + userId + "[/USER_ID]"
+ "[SKU_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSku_id()) + "[/SKU_ID]" + "[SKU_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSku_id()) + "[/SKU_ID]"
//+ "[category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCategory_id()) + "[/category_id]" + "[CATEGORY_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCategory_id()) + "[/CATEGORY_ID]"
//+ "[company_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCompany_id()) + "[/company_id]" //+ "[company_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCompany_id()) + "[/company_id]"
//+ "[sub_category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSub_category_id()) + "[/sub_category_id]" //+ "[sub_category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSub_category_id()) + "[/sub_category_id]"
+ "[BRAND_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getBrand_id()) + "[/BRAND_ID]" //+ "[BRAND_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getBrand_id()) + "[/BRAND_ID]"
+ "[SHELF_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_addShelf_id()) + "[/SHELF_ID]" + "[SHELF_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_addShelf_id()) + "[/SHELF_ID]"
+ "[SHELF_POSITION]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_shelfPosition()) + "[/SHELF_POSITION]" + "[SHELF_POSITION]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_shelfPosition()) + "[/SHELF_POSITION]"
+ "[CHECKBOX]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCheckbox_sku()) + "[/CHECKBOX]" //+ "[CHECKBOX]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCheckbox_sku()) + "[/CHECKBOX]"
+ "[/STOCK_FACING_PLANOGRAM_DATA]"; + "[/STOCK_FACING_PLANOGRAM_DATA]";
stock_facing_planogram_xml = stock_facing_planogram_xml + onXML; stock_facing_planogram_xml = stock_facing_planogram_xml + onXML;
@@ -879,7 +879,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
//Store Wise Camera //Store Wise Camera
String store_wise_camera_xml = ""; /*String store_wise_camera_xml = "";
onXML = ""; onXML = "";
storeWiseCameraDataGetterSetters = db.getStoreWiseCameraServerUploadData(coverageList.get(i).getStoreId()); storeWiseCameraDataGetterSetters = db.getStoreWiseCameraServerUploadData(coverageList.get(i).getStoreId());
@@ -929,13 +929,13 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
} }
data.value = 55; data.value = 55;
data.name = getString(R.string.stock_planogram_data_uploading); data.name = getString(R.string.stock_planogram_data_uploading);
publishProgress(data); publishProgress(data);*/
//Image Upload //Image Upload
//Store Wise Camera Images Upload //Store Wise Camera Images Upload
if (storeWiseCameraDataGetterSetters.size() > 0) { /*if (storeWiseCameraDataGetterSetters.size() > 0) {
for (int i1 = 0; i1 < storeWiseCameraDataGetterSetters.size(); i1++) { for (int i1 = 0; i1 < storeWiseCameraDataGetterSetters.size(); i1++) {
if (storeWiseCameraDataGetterSetters.get(i1).getCamera1() != null && !storeWiseCameraDataGetterSetters.get(i1).getCamera1().equals("")) { if (storeWiseCameraDataGetterSetters.get(i1).getCamera1() != null && !storeWiseCameraDataGetterSetters.get(i1).getCamera1().equals("")) {
@@ -1022,7 +1022,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
} }
} }
} }
} }*/
//Stock Facing Images Upload //Stock Facing Images Upload
/*if (stock_facingHeaderList.size() > 0) { /*if (stock_facingHeaderList.size() > 0) {
@@ -431,16 +431,16 @@ public class UploadActivity extends AppCompatActivity {
if (stock_facingHeaderList.size() > 0) { if (stock_facingHeaderList.size() > 0) {
for (int i1 = 0; i1 < stock_facingHeaderList.size(); i1++) { for (int i1 = 0; i1 < stock_facingHeaderList.size(); i1++) {
onXML = "[STOCK_FACING_DATA]" onXML = "[STOCK_FACING_DATA_NEW]"
+ "[MID]" + mid + "[/MID]" + "[MID]" + mid + "[/MID]"
+ "[USER_ID]" + userId + "[/USER_ID]" + "[USER_ID]" + userId + "[/USER_ID]"
+ "[BRAND_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getBrand_id()) + "[/BRAND_ID]" + "[BRAND_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getBrand_id()) + "[/BRAND_ID]"
+ "[IAMGE1]" + stock_facingHeaderList.get(i1).getImage1() + "[/IAMGE1]" //+ "[IAMGE1]" + stock_facingHeaderList.get(i1).getImage1() + "[/IAMGE1]"
+ "[IAMGE2]" + stock_facingHeaderList.get(i1).getImage2() + "[/IAMGE2]" //+ "[IAMGE2]" + stock_facingHeaderList.get(i1).getImage2() + "[/IAMGE2]"
+ "[SKU_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getSku_id()) + "[/SKU_ID]" + "[SKU_ID]" + Integer.parseInt(stock_facingHeaderList.get(i1).getSku_id()) + "[/SKU_ID]"
+ "[STOCK]" + Integer.parseInt(stock_facingHeaderList.get(i1).getStock()) + "[/STOCK]" + "[STOCK]" + Integer.parseInt(stock_facingHeaderList.get(i1).getStock()) + "[/STOCK]"
+ "[FACEUP]" + Integer.parseInt(stock_facingHeaderList.get(i1).getFacing()) + "[/FACEUP]" + "[FACEUP]" + Integer.parseInt(stock_facingHeaderList.get(i1).getFacing()) + "[/FACEUP]"
+ "[/STOCK_FACING_DATA]"; + "[/STOCK_FACING_DATA_NEW]";
stock_facing_xml = stock_facing_xml + onXML; stock_facing_xml = stock_facing_xml + onXML;
} }
@@ -449,7 +449,7 @@ public class UploadActivity extends AppCompatActivity {
request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA);
request.addProperty("XMLDATA", sos_xml); request.addProperty("XMLDATA", sos_xml);
request.addProperty("KEYS", "STOCK_FACING_DATA"); request.addProperty("KEYS", "STOCK_FACING_DATA_NEW");
request.addProperty("USERNAME", userId); request.addProperty("USERNAME", userId);
request.addProperty("MID", mid); request.addProperty("MID", mid);
@@ -844,13 +844,13 @@ public class UploadActivity extends AppCompatActivity {
+ "[MID]" + mid + "[/MID]" + "[MID]" + mid + "[/MID]"
+ "[USER_ID]" + userId + "[/USER_ID]" + "[USER_ID]" + userId + "[/USER_ID]"
+ "[SKU_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSku_id()) + "[/SKU_ID]" + "[SKU_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSku_id()) + "[/SKU_ID]"
//+ "[category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCategory_id()) + "[/category_id]" + "[CATEGORY_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCategory_id()) + "[/CATEGORY_ID]"
//+ "[company_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCompany_id()) + "[/company_id]" //+ "[company_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCompany_id()) + "[/company_id]"
//+ "[sub_category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSub_category_id()) + "[/sub_category_id]" //+ "[sub_category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSub_category_id()) + "[/sub_category_id]"
+ "[BRAND_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getBrand_id()) + "[/BRAND_ID]" //+ "[BRAND_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getBrand_id()) + "[/BRAND_ID]"
+ "[SHELF_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_addShelf_id()) + "[/SHELF_ID]" + "[SHELF_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_addShelf_id()) + "[/SHELF_ID]"
+ "[SHELF_POSITION]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_shelfPosition()) + "[/SHELF_POSITION]" + "[SHELF_POSITION]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_shelfPosition()) + "[/SHELF_POSITION]"
+ "[CHECKBOX]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCheckbox_sku()) + "[/CHECKBOX]" //+ "[CHECKBOX]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCheckbox_sku()) + "[/CHECKBOX]"
+ "[/STOCK_FACING_PLANOGRAM_DATA]"; + "[/STOCK_FACING_PLANOGRAM_DATA]";
stock_facing_planogram_xml = stock_facing_planogram_xml + onXML; stock_facing_planogram_xml = stock_facing_planogram_xml + onXML;
@@ -891,7 +891,7 @@ public class UploadActivity extends AppCompatActivity {
//Store Wise Camera //Store Wise Camera
String store_wise_camera_xml = ""; /*String store_wise_camera_xml = "";
onXML = ""; onXML = "";
storeWiseCameraDataGetterSetters = db.getStoreWiseCameraServerUploadData(coverageList.get(i).getStoreId()); storeWiseCameraDataGetterSetters = db.getStoreWiseCameraServerUploadData(coverageList.get(i).getStoreId());
@@ -941,13 +941,13 @@ public class UploadActivity extends AppCompatActivity {
} }
data.value = 55; data.value = 55;
data.name = getString(R.string.stock_planogram_data_uploading); data.name = getString(R.string.stock_planogram_data_uploading);
publishProgress(data); publishProgress(data);*/
//Image Upload //Image Upload
//Store Wise Camera Images Upload //Store Wise Camera Images Upload
if (storeWiseCameraDataGetterSetters.size() > 0) { /*if (storeWiseCameraDataGetterSetters.size() > 0) {
for (int i1 = 0; i1 < storeWiseCameraDataGetterSetters.size(); i1++) { for (int i1 = 0; i1 < storeWiseCameraDataGetterSetters.size(); i1++) {
if (storeWiseCameraDataGetterSetters.get(i1).getCamera1() != null && !storeWiseCameraDataGetterSetters.get(i1).getCamera1().equals("")) { if (storeWiseCameraDataGetterSetters.get(i1).getCamera1() != null && !storeWiseCameraDataGetterSetters.get(i1).getCamera1().equals("")) {
@@ -1034,7 +1034,7 @@ public class UploadActivity extends AppCompatActivity {
} }
} }
} }
} }*/
//Stock Facing Images Upload //Stock Facing Images Upload
/*if (stock_facingHeaderList.size() > 0) { /*if (stock_facingHeaderList.size() > 0) {
@@ -1,11 +1,12 @@
package cpm.com.gskmtorange.xmlGetterSetter; package cpm.com.gskmtorange.xmlGetterSetter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
public class StockFacing_PlanogramTrackerDataGetterSetter { public class StockFacing_PlanogramTrackerDataGetterSetter {
String shelf_id, shelf, sp_addShelf_id, sp_addShelf, sp_shelfPosition, checkbox_sku; String shelf_id, shelf, sp_addShelf_id, sp_addShelf, sp_shelfPosition, checkbox_sku;
String category_id, sub_category_id, sub_category, brand_id, brand, String category_id, sub_category_id, sub_category, brand_id, brand,
sku_id, sku, mrp, sku_sequence, stock, facing, mbq, company_id, image1, image2, sos_target; sku_id, sku, mrp, sku_sequence, stock, facing, mbq, company_id, image1, image2, sos_target, key_id;
public String getShelf_id() { public String getShelf_id() {
return shelf_id; return shelf_id;
@@ -182,4 +183,74 @@ public class StockFacing_PlanogramTrackerDataGetterSetter {
public void setCheckbox_sku(String checkbox_sku) { public void setCheckbox_sku(String checkbox_sku) {
this.checkbox_sku = checkbox_sku; this.checkbox_sku = checkbox_sku;
} }
public String getKey_id() {
return key_id;
}
public void setKey_id(String key_id) {
this.key_id = key_id;
}
//Comprable Interface
/*@Override
public int compareTo(StockFacing_PlanogramTrackerDataGetterSetter compare) {
int compareShelf = Integer.parseInt(compare.getSp_addShelf_id());
*//* For Ascending order*//*
return Integer.parseInt(this.sp_addShelf_id) - compareShelf;
*//* For Descending order do like this *//*
//return compareage-this.studentage;
}*/
//Comparator Interface
public static Comparator<StockFacing_PlanogramTrackerDataGetterSetter> shelfComparator =
new Comparator<StockFacing_PlanogramTrackerDataGetterSetter>() {
public int compare(StockFacing_PlanogramTrackerDataGetterSetter s1, StockFacing_PlanogramTrackerDataGetterSetter s2) {
String shelf1 = s1.getSp_addShelf_id();
String shelf2 = s2.getSp_addShelf_id();
/*Comparator<StockFacing_PlanogramTrackerDataGetterSetter> shelfPositionComparator =
new Comparator<StockFacing_PlanogramTrackerDataGetterSetter>() {
public int compare(StockFacing_PlanogramTrackerDataGetterSetter s1,
StockFacing_PlanogramTrackerDataGetterSetter s2) {
String shelf1 = s1.getSp_shelfPosition();
String shelf2 = s2.getSp_shelfPosition();
//ascending order
return shelf1.compareTo(shelf2);
//descending order
//return StudentName2.compareTo(StudentName1);
}
};*/
//ascending order
return shelf1.compareTo(shelf2);
//descending order
//return StudentName2.compareTo(StudentName1);
}
};
public static Comparator<StockFacing_PlanogramTrackerDataGetterSetter> shelfPositionComparator =
new Comparator<StockFacing_PlanogramTrackerDataGetterSetter>() {
public int compare(StockFacing_PlanogramTrackerDataGetterSetter s1, StockFacing_PlanogramTrackerDataGetterSetter s2) {
String shelf1 = s1.getSp_shelfPosition();
String shelf2 = s2.getSp_shelfPosition();
//ascending order
return shelf1.compareTo(shelf2);
//descending order
//return StudentName2.compareTo(StudentName1);
}
};
} }
@@ -5,6 +5,8 @@
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"> android:orientation="vertical">
<!--android:descendantFocusability="blocksDescendants"-->
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view" android:id="@+id/card_view"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -272,5 +272,12 @@
<!--Stock Facing Planogram Tracker--> <!--Stock Facing Planogram Tracker-->
<string name="stock_planogram_data_uploading">Stock Planogram Data Uploading</string> <string name="stock_planogram_data_uploading">Stock Planogram Data Uploading</string>
<string name="stock_planogram_data_noCamera_data">Please fill the no camera data</string>
<string name="stock_planogram_shelf">Shelf </string>
<string name="stock_planogram_shelf_position"> Position </string>
<string name="stock_planogram_already_exists">is already exists</string>
<string name="stock_planogram_data_select_one_sku">Please select atleast one sku</string>
<string name="stock_planogram_data_add_shelf">Add sku, shelf can not be empty</string>
</resources> </resources>