Commit c003a2d9 by Jemsheer K D

Product Info File Transfer

parent 8817811d
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"formatVersion": 1, "formatVersion": 1,
"database": { "database": {
"version": 1, "version": 1,
"identityHash": "f0f04a9cfaa656acfc2d490784fc1275", "identityHash": "52bcef8cc56682309aec7ce43b21d1a6",
"entities": [ "entities": [
{ {
"tableName": "waste", "tableName": "waste",
...@@ -1367,11 +1367,61 @@ ...@@ -1367,11 +1367,61 @@
}, },
"indices": [], "indices": [],
"foreignKeys": [] "foreignKeys": []
},
{
"tableName": "sellingAreaStock",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `barcode` TEXT NOT NULL, `itemCode` TEXT NOT NULL, `itemDescription` TEXT NOT NULL, `sellingAreaStock` REAL NOT NULL, `sendStatus` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "barcode",
"columnName": "barcode",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "itemCode",
"columnName": "itemCode",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "itemDescription",
"columnName": "itemDescription",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "sellingAreaStock",
"columnName": "sellingAreaStock",
"affinity": "REAL",
"notNull": true
},
{
"fieldPath": "sendStatus",
"columnName": "sendStatus",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
} }
], ],
"setupQueries": [ "setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"f0f04a9cfaa656acfc2d490784fc1275\")" "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"52bcef8cc56682309aec7ce43b21d1a6\")"
] ]
} }
} }
\ No newline at end of file
...@@ -35,6 +35,7 @@ import in.techware.carrefour.dbUtils.repositories.PrintLabelRepository; ...@@ -35,6 +35,7 @@ import in.techware.carrefour.dbUtils.repositories.PrintLabelRepository;
import in.techware.carrefour.dbUtils.repositories.PromotionRepository; import in.techware.carrefour.dbUtils.repositories.PromotionRepository;
import in.techware.carrefour.dbUtils.repositories.ReceiptRepository; import in.techware.carrefour.dbUtils.repositories.ReceiptRepository;
import in.techware.carrefour.dbUtils.repositories.ReturnRepository; import in.techware.carrefour.dbUtils.repositories.ReturnRepository;
import in.techware.carrefour.dbUtils.repositories.SellingAreaStockRepository;
import in.techware.carrefour.dbUtils.repositories.StockTakeRepository; import in.techware.carrefour.dbUtils.repositories.StockTakeRepository;
import in.techware.carrefour.dbUtils.repositories.StoreToOffsiteRepository; import in.techware.carrefour.dbUtils.repositories.StoreToOffsiteRepository;
import in.techware.carrefour.dbUtils.repositories.TransformQuantityRepository; import in.techware.carrefour.dbUtils.repositories.TransformQuantityRepository;
...@@ -61,6 +62,7 @@ import in.techware.carrefour.model.PrintLabelBean; ...@@ -61,6 +62,7 @@ import in.techware.carrefour.model.PrintLabelBean;
import in.techware.carrefour.model.PromotionBean; import in.techware.carrefour.model.PromotionBean;
import in.techware.carrefour.model.ReceiptBean; import in.techware.carrefour.model.ReceiptBean;
import in.techware.carrefour.model.ReturnBean; import in.techware.carrefour.model.ReturnBean;
import in.techware.carrefour.model.SellingAreaStockBean;
import in.techware.carrefour.model.StockTakeBean; import in.techware.carrefour.model.StockTakeBean;
import in.techware.carrefour.model.StoreToOffsiteBean; import in.techware.carrefour.model.StoreToOffsiteBean;
import in.techware.carrefour.model.TransformQuantityBean; import in.techware.carrefour.model.TransformQuantityBean;
...@@ -138,6 +140,8 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity { ...@@ -138,6 +140,8 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
private NewOrderRepository.NewOrderRepositoryListener newOrderRepositoryListener; private NewOrderRepository.NewOrderRepositoryListener newOrderRepositoryListener;
private LabelRequestRepository labelRequestRepository; private LabelRequestRepository labelRequestRepository;
private LabelRequestRepository.LabelRequestRepositoryListener labelRequestRepositoryListener; private LabelRequestRepository.LabelRequestRepositoryListener labelRequestRepositoryListener;
private SellingAreaStockRepository sellingAreaStockRepository;
private SellingAreaStockRepository.SellingAreaStockRepositoryListener sellingAreaStockRepositoryListener;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -319,7 +323,14 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity { ...@@ -319,7 +323,14 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
} }
break; break;
case HomeMenuUtil.CODE_INFO: case HomeMenuUtil.CODE_INFO:
if (labelType == AppConstants.PRODUCT_INFO_PAGE_LABEL_REQUEST) {
setLabelRequestRepository(); setLabelRequestRepository();
} else if (labelType == AppConstants.PRODUCT_INFO_PAGE_WEEK_MOVEMENT) {
setSellingAreaStockRepository();
} else {
setLabelRequestRepository();
setSellingAreaStockRepository();
}
break; break;
case HomeMenuUtil.CODE_MERCHAND: case HomeMenuUtil.CODE_MERCHAND:
switch (selectedSubMenuBean.getCode()) { switch (selectedSubMenuBean.getCode()) {
...@@ -2302,8 +2313,12 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity { ...@@ -2302,8 +2313,12 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
bean.setSendStatus(1); bean.setSendStatus(1);
labelRequestRepository.updateLabelRequest(bean, labelRequestRepositoryListener); labelRequestRepository.updateLabelRequest(bean, labelRequestRepositoryListener);
} }
if (labelType != -1) {
setProgressScreenVisibility(false, false); setProgressScreenVisibility(false, false);
finishTask(AppConstants.FILE_TRANSFER_RESULT_SEND_DATA_COMPLETED); finishTask(AppConstants.FILE_TRANSFER_RESULT_SEND_DATA_COMPLETED);
} else {
sellingAreaStockRepository.getAllUnsentSellingAreaStocks(sellingAreaStockRepositoryListener);
}
} }
@Override @Override
...@@ -2333,6 +2348,95 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity { ...@@ -2333,6 +2348,95 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
}; };
} }
private void setSellingAreaStockRepository() {
sellingAreaStockRepository = SellingAreaStockRepository.getInstance();
sellingAreaStockRepositoryListener = new SellingAreaStockRepository.SellingAreaStockRepositoryListener() {
@Override
public void onAddCompleted(SellingAreaStockBean sellingAreaStockBean) {
}
@Override
public void onAllListLoaded(ArrayList<SellingAreaStockBean> sellingAreaStockList) {
}
@Override
public void onAllSentListLoaded(ArrayList<SellingAreaStockBean> sellingAreaStockList) {
}
@Override
public void onAllUnsentListLoaded(ArrayList<SellingAreaStockBean> sellingAreaStockList) {
if (sellingAreaStockList != null && !sellingAreaStockList.isEmpty()) {
// ArrayList<SellingAreaStockBean> list = FileTransferUtil.getUniqueSellingAreaStockList(sellingAreaStockList);
StringBuilder stringBuilder = new StringBuilder();
for (SellingAreaStockBean bean : sellingAreaStockList) {
if (sellingAreaStockList.indexOf(bean) != 0) {
stringBuilder.append("\n");
}
stringBuilder
.append(BarcodeUtil.getFormattedBarcode(bean.getBarcode()))
.append(" ")
.append(BarcodeUtil.getPadLeft(bean.getItemCode(), 9, "0"))
.append(" ")
.append(BarcodeUtil.getPadLeft(bean.getItemDescription(), 35, "0"))
.append(" ")
.append(BarcodeUtil.getFormattedQuantity(bean.getSellingAreaStock(), 8, true));
}
viewModel.setSellingAreaStockList(sellingAreaStockList);
String fileName = AppConstants.getFileName(selectedMenuBean,
null, AppConstants.PRODUCT_INFO_PAGE_LABEL_REQUEST);
fop.writeFile(stringBuilder.toString(), fileName);
labelType = AppConstants.PRODUCT_INFO_PAGE_WEEK_MOVEMENT;
uploadFile(fileName, "");
}
}
@Override
public void onDeleteAllCompleted() {
}
@Override
public void onDeleteAllSentCompleted() {
for (SellingAreaStockBean bean : viewModel.getSellingAreaStockList()) {
bean.setSendStatus(1);
sellingAreaStockRepository.updateSellingAreaStock(bean, sellingAreaStockRepositoryListener);
}
setProgressScreenVisibility(false, false);
finishTask(AppConstants.FILE_TRANSFER_RESULT_SEND_DATA_COMPLETED);
}
@Override
public void onDeleteAllUnsentCompleted() {
}
@Override
public void onDeleteCompleted(SellingAreaStockBean sellingAreaStockBean) {
}
@Override
public void onFailed() {
}
@Override
public void onSellingAreaStockBeanLoaded(SellingAreaStockBean sellingAreaStockBean) {
}
@Override
public void onUpdateCompleted(SellingAreaStockBean sellingAreaStockBean) {
}
};
}
public void onFileTransferMainMenuClick(View view) { public void onFileTransferMainMenuClick(View view) {
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
...@@ -2482,7 +2586,13 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity { ...@@ -2482,7 +2586,13 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
} }
break; break;
case HomeMenuUtil.CODE_INFO: case HomeMenuUtil.CODE_INFO:
if (labelType == AppConstants.PRODUCT_INFO_PAGE_LABEL_REQUEST) {
labelRequestRepository.deleteAllSentLabelRequests(labelRequestRepositoryListener);
} else if (labelType == AppConstants.PRODUCT_INFO_PAGE_WEEK_MOVEMENT) {
sellingAreaStockRepository.deleteAllSentSellingAreaStocks(sellingAreaStockRepositoryListener);
} else {
labelRequestRepository.deleteAllSentLabelRequests(labelRequestRepositoryListener); labelRequestRepository.deleteAllSentLabelRequests(labelRequestRepositoryListener);
}
break; break;
case HomeMenuUtil.CODE_MERCHAND: case HomeMenuUtil.CODE_MERCHAND:
switch (selectedSubMenuBean.getCode()) { switch (selectedSubMenuBean.getCode()) {
...@@ -2662,7 +2772,13 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity { ...@@ -2662,7 +2772,13 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
} }
private void sendDataInfo() { private void sendDataInfo() {
if (labelType == AppConstants.PRODUCT_INFO_PAGE_LABEL_REQUEST) {
labelRequestRepository.getAllUnsentLabelRequests(labelRequestRepositoryListener);
} else if (labelType == AppConstants.PRODUCT_INFO_PAGE_WEEK_MOVEMENT) {
sellingAreaStockRepository.getAllUnsentSellingAreaStocks(sellingAreaStockRepositoryListener);
} else {
labelRequestRepository.getAllUnsentLabelRequests(labelRequestRepositoryListener); labelRequestRepository.getAllUnsentLabelRequests(labelRequestRepositoryListener);
}
} }
......
...@@ -26,9 +26,13 @@ import in.techware.carrefour.activity.receive.ReceiveActivity; ...@@ -26,9 +26,13 @@ import in.techware.carrefour.activity.receive.ReceiveActivity;
import in.techware.carrefour.adapters.MenuListRecyclerAdapter; import in.techware.carrefour.adapters.MenuListRecyclerAdapter;
import in.techware.carrefour.config.Config; import in.techware.carrefour.config.Config;
import in.techware.carrefour.dbUtils.repositories.FoodBankRepository; import in.techware.carrefour.dbUtils.repositories.FoodBankRepository;
import in.techware.carrefour.dbUtils.repositories.LabelRequestRepository;
import in.techware.carrefour.dbUtils.repositories.SellingAreaStockRepository;
import in.techware.carrefour.dialogs.ConfirmationDialog; import in.techware.carrefour.dialogs.ConfirmationDialog;
import in.techware.carrefour.model.FoodBankBean; import in.techware.carrefour.model.FoodBankBean;
import in.techware.carrefour.model.LabelRequestBean;
import in.techware.carrefour.model.MenuBean; import in.techware.carrefour.model.MenuBean;
import in.techware.carrefour.model.SellingAreaStockBean;
import in.techware.carrefour.util.AppConstants; import in.techware.carrefour.util.AppConstants;
import in.techware.carrefour.util.menuUtils.HomeMenuUtil; import in.techware.carrefour.util.menuUtils.HomeMenuUtil;
import in.techware.carrefour.viewModels.HomeViewModel; import in.techware.carrefour.viewModels.HomeViewModel;
...@@ -44,6 +48,10 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -44,6 +48,10 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
private MenuBean selectedMenuBean; private MenuBean selectedMenuBean;
private FoodBankRepository foodBankRepository; private FoodBankRepository foodBankRepository;
private FoodBankRepository.FoodBankRepositoryListener foodBankRepositoryListener; private FoodBankRepository.FoodBankRepositoryListener foodBankRepositoryListener;
private LabelRequestRepository labelRequestRepository;
private LabelRequestRepository.LabelRequestRepositoryListener labelRequestRepositoryListener;
private SellingAreaStockRepository sellingAreaStockRepository;
private SellingAreaStockRepository.SellingAreaStockRepositoryListener sellingAreaStockRepositoryListener;
@Override @Override
...@@ -140,6 +148,8 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -140,6 +148,8 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
}); });
initFoodBankRepository(); initFoodBankRepository();
initLabelRequestRepository();
initSellingAreaStockRepository();
confirmationDialogListener = new ConfirmationDialog.ConfirmationDialogActionListener() { confirmationDialogListener = new ConfirmationDialog.ConfirmationDialogActionListener() {
@Override @Override
...@@ -147,6 +157,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -147,6 +157,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
if (selectedMenuBean != null) { if (selectedMenuBean != null) {
switch (selectedMenuBean.getCode()) { switch (selectedMenuBean.getCode()) {
case HomeMenuUtil.CODE_INFO:
labelRequestRepository.deleteAllUnsentLabelRequests(labelRequestRepositoryListener);
sellingAreaStockRepository.deleteAllUnsentSellingAreaStocks(sellingAreaStockRepositoryListener);
navigateToProductInfoActivity();
break;
case HomeMenuUtil.CODE_FOOD_BANK: case HomeMenuUtil.CODE_FOOD_BANK:
foodBankRepository.deleteAllUnsentFoodBanks(foodBankRepositoryListener); foodBankRepository.deleteAllUnsentFoodBanks(foodBankRepositoryListener);
navigateToFoodBankActivity(); navigateToFoodBankActivity();
...@@ -160,6 +175,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -160,6 +175,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
public void onNoClicked() { public void onNoClicked() {
if (selectedMenuBean != null) { if (selectedMenuBean != null) {
switch (selectedMenuBean.getCode()) { switch (selectedMenuBean.getCode()) {
case HomeMenuUtil.CODE_INFO:
startActivityForResult(new Intent(getApplicationContext(), FileTransferActivity.class)
.putExtra("menuBean", selectedMenuBean)
.putExtra("labelType", -1), REQ_FILE_TRANSFER);
break;
case HomeMenuUtil.CODE_FOOD_BANK: case HomeMenuUtil.CODE_FOOD_BANK:
startActivityForResult(new Intent(getApplicationContext(), FileTransferActivity.class) startActivityForResult(new Intent(getApplicationContext(), FileTransferActivity.class)
.putExtra("menuBean", selectedMenuBean), REQ_FILE_TRANSFER); .putExtra("menuBean", selectedMenuBean), REQ_FILE_TRANSFER);
...@@ -248,6 +268,140 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -248,6 +268,140 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
} }
private void initLabelRequestRepository() {
labelRequestRepository = LabelRequestRepository.getInstance();
labelRequestRepositoryListener = new LabelRequestRepository.LabelRequestRepositoryListener() {
@Override
public void onAddCompleted(LabelRequestBean labelRequestBean) {
}
@Override
public void onAllListLoaded(ArrayList<LabelRequestBean> labelRequestList) {
}
@Override
public void onAllSentListLoaded(ArrayList<LabelRequestBean> labelRequestList) {
}
@Override
public void onAllUnsentListLoaded(ArrayList<LabelRequestBean> labelRequestList) {
if (labelRequestList != null && !labelRequestList.isEmpty()) {
showConfirmationDialog();
} else {
sellingAreaStockRepository.getAllUnsentSellingAreaStocks(sellingAreaStockRepositoryListener);
}
}
@Override
public void onDeleteAllCompleted() {
}
@Override
public void onDeleteAllSentCompleted() {
}
@Override
public void onDeleteAllUnsentCompleted() {
}
@Override
public void onDeleteCompleted(LabelRequestBean labelRequestBean) {
}
@Override
public void onFailed() {
}
@Override
public void onUpdateCompleted(LabelRequestBean labelRequestBean) {
}
@Override
public void onLabelRequestBeanLoaded(LabelRequestBean labelRequestBean) {
}
};
}
private void initSellingAreaStockRepository() {
sellingAreaStockRepository = SellingAreaStockRepository.getInstance();
sellingAreaStockRepositoryListener = new SellingAreaStockRepository.SellingAreaStockRepositoryListener() {
@Override
public void onAddCompleted(SellingAreaStockBean sellingAreaStockBean) {
}
@Override
public void onAllListLoaded(ArrayList<SellingAreaStockBean> sellingAreaStockList) {
}
@Override
public void onAllSentListLoaded(ArrayList<SellingAreaStockBean> sellingAreaStockList) {
}
@Override
public void onAllUnsentListLoaded(ArrayList<SellingAreaStockBean> sellingAreaStockList) {
if (sellingAreaStockList != null && !sellingAreaStockList.isEmpty()) {
showConfirmationDialog();
} else {
navigateToProductInfoActivity();
}
}
@Override
public void onDeleteAllCompleted() {
}
@Override
public void onDeleteAllSentCompleted() {
}
@Override
public void onDeleteAllUnsentCompleted() {
}
@Override
public void onDeleteCompleted(SellingAreaStockBean sellingAreaStockBean) {
}
@Override
public void onFailed() {
}
@Override
public void onUpdateCompleted(SellingAreaStockBean sellingAreaStockBean) {
}
@Override
public void onSellingAreaStockBeanLoaded(SellingAreaStockBean sellingAreaStockBean) {
}
};
}
public void showConfirmationDialog() { public void showConfirmationDialog() {
confirmationDialog = new ConfirmationDialog(this); confirmationDialog = new ConfirmationDialog(this);
confirmationDialog.setConfirmationDialogActionListener(confirmationDialogListener); confirmationDialog.setConfirmationDialogActionListener(confirmationDialogListener);
...@@ -284,8 +438,7 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -284,8 +438,7 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
.putExtra("menuBean", menuBean)); .putExtra("menuBean", menuBean));
break; break;
case HomeMenuUtil.CODE_INFO: case HomeMenuUtil.CODE_INFO:
startActivity(new Intent(HomeActivity.this, ProductInfoActivity.class) labelRequestRepository.getAllUnsentLabelRequests(labelRequestRepositoryListener);
.putExtra("menuBean", menuBean));
break; break;
case HomeMenuUtil.CODE_MERCHAND: case HomeMenuUtil.CODE_MERCHAND:
startActivity(new Intent(HomeActivity.this, MerchandiseActivity.class) startActivity(new Intent(HomeActivity.this, MerchandiseActivity.class)
...@@ -335,6 +488,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity { ...@@ -335,6 +488,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
.putExtra("menuBean", selectedMenuBean)); .putExtra("menuBean", selectedMenuBean));
} }
private void navigateToProductInfoActivity() {
startActivity(new Intent(HomeActivity.this, ProductInfoActivity.class)
.putExtra("menuBean", selectedMenuBean));
}
public void goToSubMenu(View view) { public void goToSubMenu(View view) {
startActivity(new Intent(getApplicationContext(), ITActivity.class)); startActivity(new Intent(getApplicationContext(), ITActivity.class));
......
...@@ -24,10 +24,13 @@ import java.util.ArrayList; ...@@ -24,10 +24,13 @@ import java.util.ArrayList;
import in.techware.carrefour.R; import in.techware.carrefour.R;
import in.techware.carrefour.activity.BaseAppCompatNoDrawerActivity; import in.techware.carrefour.activity.BaseAppCompatNoDrawerActivity;
import in.techware.carrefour.activity.FileTransferActivity; import in.techware.carrefour.activity.FileTransferActivity;
import in.techware.carrefour.config.Config;
import in.techware.carrefour.dbUtils.repositories.LabelRequestRepository; import in.techware.carrefour.dbUtils.repositories.LabelRequestRepository;
import in.techware.carrefour.dialogs.ConfirmationDialog; import in.techware.carrefour.dialogs.ConfirmationDialog;
import in.techware.carrefour.dialogs.PopupMessage; import in.techware.carrefour.dialogs.PopupMessage;
import in.techware.carrefour.dialogs.SelectDialog;
import in.techware.carrefour.listeners.BarcodeUpdateListener; import in.techware.carrefour.listeners.BarcodeUpdateListener;
import in.techware.carrefour.model.BasicDataBean;
import in.techware.carrefour.model.LabelRequestBean; import in.techware.carrefour.model.LabelRequestBean;
import in.techware.carrefour.model.MenuBean; import in.techware.carrefour.model.MenuBean;
import in.techware.carrefour.model.PrinterBean; import in.techware.carrefour.model.PrinterBean;
...@@ -181,11 +184,21 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity { ...@@ -181,11 +184,21 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
} }
private void initViews() { private void initViews() {
llSelectPrinter = findViewById(R.id.ll_label_request_printer);
txtSelectPrinter = findViewById(R.id.txt_label_request_printer);
// cbPrinter = findViewById(R.id.cb_label_request_quantity);
txtLastEntryBarcode = findViewById(R.id.txt_label_request_last_entry_barcode);
txtLastEntryQuantity = findViewById(R.id.txt_label_request_last_entry_quantity);
txtDescription = findViewById(R.id.txt_label_request_item_description); txtDescription = findViewById(R.id.txt_label_request_item_description);
txtDescription = findViewById(R.id.txt_label_request_item_description);
etxtBarcode = findViewById(R.id.etxt_label_request_barcode); etxtBarcode = findViewById(R.id.etxt_label_request_barcode);
etxtItemCode = findViewById(R.id.etxt_label_request_item_code); etxtItemCode = findViewById(R.id.etxt_label_request_item_code);
etxtNoOfLabels = findViewById(R.id.etxt_label_request_no_of_labels); etxtNoOfLabels = findViewById(R.id.etxt_label_request_no_of_labels);
btnExit = findViewById(R.id.btn_label_request_exit); btnExit = findViewById(R.id.btn_label_request_exit);
btnMainPage = findViewById(R.id.btn_label_request_main_page); btnMainPage = findViewById(R.id.btn_label_request_main_page);
btnOrder = findViewById(R.id.btn_label_request_order); btnOrder = findViewById(R.id.btn_label_request_order);
...@@ -202,8 +215,14 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity { ...@@ -202,8 +215,14 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
} }
clearViews(); clearViews();
setLabelRequestRepository();
llSelectPrinter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onLabelRequestPrinterClick(v);
}
});
btnExit.setOnClickListener(new View.OnClickListener() { btnExit.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
...@@ -409,6 +428,12 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity { ...@@ -409,6 +428,12 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
}; };
} }
private void onSaveCompleted() {
viewModel.setLastEntry(viewModel.getLabelRequestList().get(viewModel.lastLabelRequestIndex()));
setData();
llSelectPrinter.setEnabled(true);
}
private void setData() { private void setData() {
if (viewModel.getProductInfoBean() != null) { if (viewModel.getProductInfoBean() != null) {
String str = getString(R.string.label_updated_on) String str = getString(R.string.label_updated_on)
...@@ -422,6 +447,21 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity { ...@@ -422,6 +447,21 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
etxtNoOfLabels.setText(viewModel.getProductInfoBean().getNumLabels()); etxtNoOfLabels.setText(viewModel.getProductInfoBean().getNumLabels());
txtDescription.setText(viewModel.getProductInfoBean().getItemDescription()); txtDescription.setText(viewModel.getProductInfoBean().getItemDescription());
if (viewModel.getLastEntry() != null) {
txtLastEntryBarcode.setText(viewModel.getLastEntry().getBarcode());
txtLastEntryQuantity.setText(BarcodeUtil.removeTrailingZeroes(viewModel.getLastEntry().getNoOfLabels()));
} else {
txtLastEntryBarcode.setText("");
txtLastEntryQuantity.setText("");
}
if (viewModel.getPrinterBean() != null) {
llSelectPrinter.setEnabled(false);
txtSelectPrinter.setText(viewModel.getPrinterBean().getName());
} else {
llSelectPrinter.setEnabled(true);
}
} }
} }
...@@ -444,6 +484,82 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity { ...@@ -444,6 +484,82 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
setProgressScreenVisibility(false, false); setProgressScreenVisibility(false, false);
} }
private void setLabelRequestRepository() {
labelRequestRepository = LabelRequestRepository.getInstance();
labelRequestRepositoryListener = new LabelRequestRepository.LabelRequestRepositoryListener() {
@Override
public void onAddCompleted(LabelRequestBean labelRequestBean) {
viewModel.getLabelRequestList().add(labelRequestBean);
onSaveCompleted();
}
@Override
public void onDeleteCompleted(LabelRequestBean labelRequestBean) {
int index = viewModel.indexOf(labelRequestBean);
if (index != -1)
viewModel.getLabelRequestList().remove(index);
setData();
}
@Override
public void onDeleteAllCompleted() {
}
@Override
public void onDeleteAllSentCompleted() {
}
@Override
public void onDeleteAllUnsentCompleted() {
}
@Override
public void onUpdateCompleted(LabelRequestBean labelRequestBean) {
int index = viewModel.indexOf(labelRequestBean);
if (index != -1) {
viewModel.getLabelRequestList().set(index, labelRequestBean);
onSaveCompleted();
}
}
@Override
public void onLabelRequestBeanLoaded(LabelRequestBean labelRequestBean) {
}
@Override
public void onAllListLoaded(ArrayList<LabelRequestBean> labelRequestListBean) {
}
@Override
public void onAllUnsentListLoaded(ArrayList<LabelRequestBean> labelRequestList) {
viewModel.setLabelRequestList(labelRequestList);
if(!labelRequestList.isEmpty()){
viewModel.setLastEntry(labelRequestList.get(viewModel.lastLabelRequestIndex()));
}
setData();
swipeView.setRefreshing(false);
setProgressScreenVisibility(false, false);
}
@Override
public void onAllSentListLoaded(ArrayList<LabelRequestBean> labelRequestListBean) {
}
@Override
public void onFailed() {
}
};
}
private void saveLabelRequestBean() { private void saveLabelRequestBean() {
LabelRequestBean labelRequestBean = viewModel.generateLabelRequestBean(); LabelRequestBean labelRequestBean = viewModel.generateLabelRequestBean();
...@@ -456,6 +572,37 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity { ...@@ -456,6 +572,37 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
} }
} }
public void onLabelRequestPrinterClick(View view) {
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
//mVibrator.vibrate(25);
if (Config.getInstance().getBasicDataBean() == null) {
Config.getInstance().setBasicDataBean(new BasicDataBean());
}
Config.getInstance().getBasicDataBean().setPrinterList(viewModel.getPrinterList());
SelectDialog selectDialog = new SelectDialog(this,
AppConstants.ACTION_CHOOSE_PRINTER);
selectDialog.setTitle(getString(R.string.label_select_printer));
selectDialog.setSelectDialogActionListener(new SelectDialog.SelectDialogActionListener() {
@Override
public void actionCompletedSuccessfully(int position, String value) {
txtSelectPrinter.setText(value);
viewModel.setPrinterBean(viewModel.getPrinterList().get(position));
viewModel.setPrinterSelectedPosition(position);
setData();
}
@Override
public void actionFailed(String errorMsg) {
setData();
llSelectPrinter.setEnabled(true);
}
});
selectDialog.show();
}
private void onLabelRequestMainPageClick(View view) { private void onLabelRequestMainPageClick(View view) {
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
......
...@@ -242,7 +242,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity { ...@@ -242,7 +242,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity {
Log.i(TAG, "onEditorAction: " + etxtQuantity.getText().toString()); Log.i(TAG, "onEditorAction: " + etxtQuantity.getText().toString());
if (etxtQuantity.getText().toString().length() > 0) { if (etxtQuantity.getText().toString().length() > 0) {
final double quantity = Double.parseDouble(etxtQuantity.getText().toString()); final double quantity = Double.parseDouble(etxtQuantity.getText().toString());
if (quantity <= viewModel.getQuantityOriginal()) { if (viewModel.getReceiveOrderBean() != null && quantity <= viewModel.getReceiveOrderBean().getQuantity()) {
if (quantity > 1000) { if (quantity > 1000) {
ConfirmationDialog confirmationDialog = ConfirmationDialog confirmationDialog =
new ConfirmationDialog(ReceiveOrderActivity.this); new ConfirmationDialog(ReceiveOrderActivity.this);
...@@ -305,6 +305,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity { ...@@ -305,6 +305,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity {
int index = viewModel.indexOf(BarcodeUtil.getFormattedBarcode(barcode)); int index = viewModel.indexOf(BarcodeUtil.getFormattedBarcode(barcode));
if (index != -1) { if (index != -1) {
ReceiveOrderBean receiveOrderBean = viewModel.getReceiveOrderList().get(index); ReceiveOrderBean receiveOrderBean = viewModel.getReceiveOrderList().get(index);
viewModel.setReceiveOrderBean(receiveOrderBean);
txtDescription.setText(receiveOrderBean.getDescription()); txtDescription.setText(receiveOrderBean.getDescription());
txtQuantity.setText(BarcodeUtil.removeTrailingZeroes(receiveOrderBean.getQuantity())); txtQuantity.setText(BarcodeUtil.removeTrailingZeroes(receiveOrderBean.getQuantity()));
viewModel.setDescription(receiveOrderBean.getDescription()); viewModel.setDescription(receiveOrderBean.getDescription());
...@@ -451,6 +452,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity { ...@@ -451,6 +452,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity {
private void onSaveCompleted() { private void onSaveCompleted() {
viewModel.clearReceiveOrder(); viewModel.clearReceiveOrder();
viewModel.setReceiveOrderBean(null);
viewModel.setLastEntry(viewModel.getReceiptList().get(viewModel.lastIndex())); viewModel.setLastEntry(viewModel.getReceiptList().get(viewModel.lastIndex()));
populateViewModel(); populateViewModel();
etxtBarcode.performClick(); etxtBarcode.performClick();
......
...@@ -27,6 +27,7 @@ import in.techware.carrefour.dbUtils.dao.PromotionDao; ...@@ -27,6 +27,7 @@ import in.techware.carrefour.dbUtils.dao.PromotionDao;
import in.techware.carrefour.dbUtils.dao.ReceiptDao; import in.techware.carrefour.dbUtils.dao.ReceiptDao;
import in.techware.carrefour.dbUtils.dao.ReceiveOrderDao; import in.techware.carrefour.dbUtils.dao.ReceiveOrderDao;
import in.techware.carrefour.dbUtils.dao.ReturnDao; import in.techware.carrefour.dbUtils.dao.ReturnDao;
import in.techware.carrefour.dbUtils.dao.SellingAreaStockDao;
import in.techware.carrefour.dbUtils.dao.StockTakeDao; import in.techware.carrefour.dbUtils.dao.StockTakeDao;
import in.techware.carrefour.dbUtils.dao.StoreToOffsiteDao; import in.techware.carrefour.dbUtils.dao.StoreToOffsiteDao;
import in.techware.carrefour.dbUtils.dao.TransformQuantityDao; import in.techware.carrefour.dbUtils.dao.TransformQuantityDao;
...@@ -52,6 +53,7 @@ import in.techware.carrefour.dbUtils.entity.PromotionEntity; ...@@ -52,6 +53,7 @@ import in.techware.carrefour.dbUtils.entity.PromotionEntity;
import in.techware.carrefour.dbUtils.entity.ReceiptEntity; import in.techware.carrefour.dbUtils.entity.ReceiptEntity;
import in.techware.carrefour.dbUtils.entity.ReceiveOrderEntity; import in.techware.carrefour.dbUtils.entity.ReceiveOrderEntity;
import in.techware.carrefour.dbUtils.entity.ReturnEntity; import in.techware.carrefour.dbUtils.entity.ReturnEntity;
import in.techware.carrefour.dbUtils.entity.SellingAreaStockEntity;
import in.techware.carrefour.dbUtils.entity.StockTakeEntity; import in.techware.carrefour.dbUtils.entity.StockTakeEntity;
import in.techware.carrefour.dbUtils.entity.StoreToOffsiteEntity; import in.techware.carrefour.dbUtils.entity.StoreToOffsiteEntity;
import in.techware.carrefour.dbUtils.entity.TransformQuantityEntity; import in.techware.carrefour.dbUtils.entity.TransformQuantityEntity;
...@@ -89,7 +91,8 @@ import in.techware.carrefour.dbUtils.entity.WasteEntity; ...@@ -89,7 +91,8 @@ import in.techware.carrefour.dbUtils.entity.WasteEntity;
OrderEntity.class, OrderEntity.class,
ReceiveOrderEntity.class, ReceiveOrderEntity.class,
ReceiptEntity.class, ReceiptEntity.class,
LabelRequestEntity.class LabelRequestEntity.class,
SellingAreaStockEntity.class
}, version = 1) }, version = 1)
@TypeConverters({DataTypeConverters.class}) @TypeConverters({DataTypeConverters.class})
public abstract class CarrefourRoomDatabase extends RoomDatabase { public abstract class CarrefourRoomDatabase extends RoomDatabase {
...@@ -161,4 +164,6 @@ public abstract class CarrefourRoomDatabase extends RoomDatabase { ...@@ -161,4 +164,6 @@ public abstract class CarrefourRoomDatabase extends RoomDatabase {
public abstract LabelRequestDao labelRequestDao(); public abstract LabelRequestDao labelRequestDao();
public abstract SellingAreaStockDao sellingAreaStockDao();
} }
package in.techware.carrefour.dbUtils.dao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Delete;
import android.arch.persistence.room.Insert;
import android.arch.persistence.room.OnConflictStrategy;
import android.arch.persistence.room.Query;
import android.arch.persistence.room.Update;
import java.util.List;
import in.techware.carrefour.dbUtils.entity.SellingAreaStockEntity;
/**
* Created by Jemsheer K D on 25 July, 2018.
* Package in.techware.carrefour.dbUtils.dao
* Project Carrefour
*/
@Dao
public interface SellingAreaStockDao {
@Query("SELECT * FROM sellingAreaStock")
List<SellingAreaStockEntity> loadAllSellingAreaStocks();
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<SellingAreaStockEntity> sellingAreaStockEntityList);
@Query("select * from sellingAreaStock where id = :id ORDER BY id DESC LIMIT 1")
List<SellingAreaStockEntity> getSellingAreaStock(String id);
@Query("select * from sellingAreaStock where sendStatus = 0 ORDER BY id")
List<SellingAreaStockEntity> getAllUnsentSellingAreaStock();
@Query("select * from sellingAreaStock where sendStatus = 1 ORDER BY id")
List<SellingAreaStockEntity> getAllSentSellingAreaStock();
@Query("DELETE from sellingAreaStock where sendStatus = 0")
void deleteAllUnsentSellingAreaStock();
@Query("DELETE from sellingAreaStock where sendStatus = 1")
void deleteAllSentSellingAreaStock();
@Query("DELETE FROM sellingAreaStock")
void deleteAll();
@Insert
long insert(SellingAreaStockEntity sellingAreaStockEntity);
@Update
void update(SellingAreaStockEntity sellingAreaStockEntity);
@Delete
void delete(SellingAreaStockEntity sellingAreaStockEntity);
}
...@@ -267,11 +267,12 @@ public class DropDownMenuUtil { ...@@ -267,11 +267,12 @@ public class DropDownMenuUtil {
if (str.length() > 0) { if (str.length() > 0) {
ReceiveOrderBean receiveOrderBean = new ReceiveOrderBean(); ReceiveOrderBean receiveOrderBean = new ReceiveOrderBean();
receiveOrderBean.setOrder(str); receiveOrderBean.setOrder(str);
receiveOrderBean.setSupplier(str.length() >= 51 ? str.substring(51, 51 + 10) : "");
receiveOrderBean.setOrderNo((str.length() >= 8 ? str.substring(0, 8) : "").trim()); receiveOrderBean.setOrderNo((str.length() >= 8 ? str.substring(0, 8) : "").trim());
receiveOrderBean.setBarcode(str.length() >= 21 ? str.substring(8, 21) : ""); receiveOrderBean.setBarcode(str.length() >= 21 ? str.substring(8, 21) : "");
receiveOrderBean.setDescription((str.length() >= 8 ? str.substring(0, 8) : "") + receiveOrderBean.setDescription((str.length() >= 8 ? str.substring(0, 8) : "") +
(str.length() > 21 ? str.substring(21) : "")); (str.length() > 21 ? str.substring(21) : ""));
receiveOrderBean.setSupplier(receiveOrderBean.getDescription().length() >= 51
? receiveOrderBean.getDescription().substring(51, 51 + 10) : "");
double quantity = Double.parseDouble(receiveOrderBean.getDescription().substring(8, 13)) double quantity = Double.parseDouble(receiveOrderBean.getDescription().substring(8, 13))
+ (Double.parseDouble(receiveOrderBean.getDescription().substring(13, 16))) / 1000; + (Double.parseDouble(receiveOrderBean.getDescription().substring(13, 16))) / 1000;
receiveOrderBean.setQuantity(quantity); receiveOrderBean.setQuantity(quantity);
......
...@@ -44,6 +44,7 @@ class FileTransferViewModel : ViewModel() { ...@@ -44,6 +44,7 @@ class FileTransferViewModel : ViewModel() {
var newOrderList: ArrayList<NewOrderBean> = ArrayList() var newOrderList: ArrayList<NewOrderBean> = ArrayList()
var receiptList: ArrayList<ReceiptBean> = arrayListOf() var receiptList: ArrayList<ReceiptBean> = arrayListOf()
var labelRequestList: java.util.ArrayList<LabelRequestBean> = arrayListOf() var labelRequestList: ArrayList<LabelRequestBean> = arrayListOf()
var sellingAreaStockList: ArrayList<SellingAreaStockBean> = arrayListOf()
} }
\ No newline at end of file
...@@ -140,4 +140,12 @@ class ProductInfoViewModel : ViewModel() { ...@@ -140,4 +140,12 @@ class ProductInfoViewModel : ViewModel() {
return -1 return -1
} }
fun lastLabelRequestIndex(): Int {
return if (labelRequestList.isNotEmpty()) labelRequestList.size - 1 else -1
}
fun lastSellingAreaStockIndex(): Int {
return if (sellingAreaStockList.isNotEmpty()) sellingAreaStockList.size - 1 else -1
}
} }
\ No newline at end of file
...@@ -25,6 +25,7 @@ class ReceiveOrderViewModel : ViewModel() { ...@@ -25,6 +25,7 @@ class ReceiveOrderViewModel : ViewModel() {
var selectedMenuBean: MenuBean? = null var selectedMenuBean: MenuBean? = null
var selectedSubMenuBean: MenuBean? = null var selectedSubMenuBean: MenuBean? = null
var userBean: UserBean? = null var userBean: UserBean? = null
var receiveOrderBean: ReceiveOrderBean? = null
var lastEntry: ReceiptBean? = null var lastEntry: ReceiptBean? = null
var isModifyEnabled: Boolean = false var isModifyEnabled: Boolean = false
......
...@@ -156,7 +156,8 @@ ...@@ -156,7 +156,8 @@
android:focusable="false" android:focusable="false"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:hint="@string/label_quantity" android:hint="@string/label_quantity"
android:imeOptions="actionDone|actionNext|actionGo" /> android:imeOptions="actionDone|actionNext|actionGo"
android:inputType="numberDecimal" />
<View <View
android:layout_width="0dp" android:layout_width="0dp"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment