Commit c003a2d9 by Jemsheer K D

Product Info File Transfer

parent 8817811d
......@@ -2,7 +2,7 @@
"formatVersion": 1,
"database": {
"version": 1,
"identityHash": "f0f04a9cfaa656acfc2d490784fc1275",
"identityHash": "52bcef8cc56682309aec7ce43b21d1a6",
"entities": [
{
"tableName": "waste",
......@@ -1367,11 +1367,61 @@
},
"indices": [],
"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": [
"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;
import in.techware.carrefour.dbUtils.repositories.PromotionRepository;
import in.techware.carrefour.dbUtils.repositories.ReceiptRepository;
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.StoreToOffsiteRepository;
import in.techware.carrefour.dbUtils.repositories.TransformQuantityRepository;
......@@ -61,6 +62,7 @@ import in.techware.carrefour.model.PrintLabelBean;
import in.techware.carrefour.model.PromotionBean;
import in.techware.carrefour.model.ReceiptBean;
import in.techware.carrefour.model.ReturnBean;
import in.techware.carrefour.model.SellingAreaStockBean;
import in.techware.carrefour.model.StockTakeBean;
import in.techware.carrefour.model.StoreToOffsiteBean;
import in.techware.carrefour.model.TransformQuantityBean;
......@@ -138,6 +140,8 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
private NewOrderRepository.NewOrderRepositoryListener newOrderRepositoryListener;
private LabelRequestRepository labelRequestRepository;
private LabelRequestRepository.LabelRequestRepositoryListener labelRequestRepositoryListener;
private SellingAreaStockRepository sellingAreaStockRepository;
private SellingAreaStockRepository.SellingAreaStockRepositoryListener sellingAreaStockRepositoryListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -319,7 +323,14 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
}
break;
case HomeMenuUtil.CODE_INFO:
if (labelType == AppConstants.PRODUCT_INFO_PAGE_LABEL_REQUEST) {
setLabelRequestRepository();
} else if (labelType == AppConstants.PRODUCT_INFO_PAGE_WEEK_MOVEMENT) {
setSellingAreaStockRepository();
} else {
setLabelRequestRepository();
setSellingAreaStockRepository();
}
break;
case HomeMenuUtil.CODE_MERCHAND:
switch (selectedSubMenuBean.getCode()) {
......@@ -2302,8 +2313,12 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
bean.setSendStatus(1);
labelRequestRepository.updateLabelRequest(bean, labelRequestRepositoryListener);
}
if (labelType != -1) {
setProgressScreenVisibility(false, false);
finishTask(AppConstants.FILE_TRANSFER_RESULT_SEND_DATA_COMPLETED);
} else {
sellingAreaStockRepository.getAllUnsentSellingAreaStocks(sellingAreaStockRepositoryListener);
}
}
@Override
......@@ -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) {
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
......@@ -2482,7 +2586,13 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
}
break;
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);
}
break;
case HomeMenuUtil.CODE_MERCHAND:
switch (selectedSubMenuBean.getCode()) {
......@@ -2662,7 +2772,13 @@ public class FileTransferActivity extends BaseAppCompatNoDrawerActivity {
}
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);
}
}
......
......@@ -26,9 +26,13 @@ import in.techware.carrefour.activity.receive.ReceiveActivity;
import in.techware.carrefour.adapters.MenuListRecyclerAdapter;
import in.techware.carrefour.config.Config;
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.model.FoodBankBean;
import in.techware.carrefour.model.LabelRequestBean;
import in.techware.carrefour.model.MenuBean;
import in.techware.carrefour.model.SellingAreaStockBean;
import in.techware.carrefour.util.AppConstants;
import in.techware.carrefour.util.menuUtils.HomeMenuUtil;
import in.techware.carrefour.viewModels.HomeViewModel;
......@@ -44,6 +48,10 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
private MenuBean selectedMenuBean;
private FoodBankRepository foodBankRepository;
private FoodBankRepository.FoodBankRepositoryListener foodBankRepositoryListener;
private LabelRequestRepository labelRequestRepository;
private LabelRequestRepository.LabelRequestRepositoryListener labelRequestRepositoryListener;
private SellingAreaStockRepository sellingAreaStockRepository;
private SellingAreaStockRepository.SellingAreaStockRepositoryListener sellingAreaStockRepositoryListener;
@Override
......@@ -140,6 +148,8 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
});
initFoodBankRepository();
initLabelRequestRepository();
initSellingAreaStockRepository();
confirmationDialogListener = new ConfirmationDialog.ConfirmationDialogActionListener() {
@Override
......@@ -147,6 +157,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
if (selectedMenuBean != null) {
switch (selectedMenuBean.getCode()) {
case HomeMenuUtil.CODE_INFO:
labelRequestRepository.deleteAllUnsentLabelRequests(labelRequestRepositoryListener);
sellingAreaStockRepository.deleteAllUnsentSellingAreaStocks(sellingAreaStockRepositoryListener);
navigateToProductInfoActivity();
break;
case HomeMenuUtil.CODE_FOOD_BANK:
foodBankRepository.deleteAllUnsentFoodBanks(foodBankRepositoryListener);
navigateToFoodBankActivity();
......@@ -160,6 +175,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
public void onNoClicked() {
if (selectedMenuBean != null) {
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:
startActivityForResult(new Intent(getApplicationContext(), FileTransferActivity.class)
.putExtra("menuBean", selectedMenuBean), REQ_FILE_TRANSFER);
......@@ -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() {
confirmationDialog = new ConfirmationDialog(this);
confirmationDialog.setConfirmationDialogActionListener(confirmationDialogListener);
......@@ -284,8 +438,7 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
.putExtra("menuBean", menuBean));
break;
case HomeMenuUtil.CODE_INFO:
startActivity(new Intent(HomeActivity.this, ProductInfoActivity.class)
.putExtra("menuBean", menuBean));
labelRequestRepository.getAllUnsentLabelRequests(labelRequestRepositoryListener);
break;
case HomeMenuUtil.CODE_MERCHAND:
startActivity(new Intent(HomeActivity.this, MerchandiseActivity.class)
......@@ -335,6 +488,11 @@ public class HomeActivity extends BaseAppCompatNoDrawerActivity {
.putExtra("menuBean", selectedMenuBean));
}
private void navigateToProductInfoActivity() {
startActivity(new Intent(HomeActivity.this, ProductInfoActivity.class)
.putExtra("menuBean", selectedMenuBean));
}
public void goToSubMenu(View view) {
startActivity(new Intent(getApplicationContext(), ITActivity.class));
......
......@@ -24,10 +24,13 @@ import java.util.ArrayList;
import in.techware.carrefour.R;
import in.techware.carrefour.activity.BaseAppCompatNoDrawerActivity;
import in.techware.carrefour.activity.FileTransferActivity;
import in.techware.carrefour.config.Config;
import in.techware.carrefour.dbUtils.repositories.LabelRequestRepository;
import in.techware.carrefour.dialogs.ConfirmationDialog;
import in.techware.carrefour.dialogs.PopupMessage;
import in.techware.carrefour.dialogs.SelectDialog;
import in.techware.carrefour.listeners.BarcodeUpdateListener;
import in.techware.carrefour.model.BasicDataBean;
import in.techware.carrefour.model.LabelRequestBean;
import in.techware.carrefour.model.MenuBean;
import in.techware.carrefour.model.PrinterBean;
......@@ -181,11 +184,21 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
}
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);
etxtBarcode = findViewById(R.id.etxt_label_request_barcode);
etxtItemCode = findViewById(R.id.etxt_label_request_item_code);
etxtNoOfLabels = findViewById(R.id.etxt_label_request_no_of_labels);
btnExit = findViewById(R.id.btn_label_request_exit);
btnMainPage = findViewById(R.id.btn_label_request_main_page);
btnOrder = findViewById(R.id.btn_label_request_order);
......@@ -202,8 +215,14 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
}
clearViews();
setLabelRequestRepository();
llSelectPrinter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onLabelRequestPrinterClick(v);
}
});
btnExit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
......@@ -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() {
if (viewModel.getProductInfoBean() != null) {
String str = getString(R.string.label_updated_on)
......@@ -422,6 +447,21 @@ public class LabelRequestActivity extends BaseAppCompatNoDrawerActivity {
etxtNoOfLabels.setText(viewModel.getProductInfoBean().getNumLabels());
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 {
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() {
LabelRequestBean labelRequestBean = viewModel.generateLabelRequestBean();
......@@ -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) {
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
......
......@@ -242,7 +242,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity {
Log.i(TAG, "onEditorAction: " + etxtQuantity.getText().toString());
if (etxtQuantity.getText().toString().length() > 0) {
final double quantity = Double.parseDouble(etxtQuantity.getText().toString());
if (quantity <= viewModel.getQuantityOriginal()) {
if (viewModel.getReceiveOrderBean() != null && quantity <= viewModel.getReceiveOrderBean().getQuantity()) {
if (quantity > 1000) {
ConfirmationDialog confirmationDialog =
new ConfirmationDialog(ReceiveOrderActivity.this);
......@@ -305,6 +305,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity {
int index = viewModel.indexOf(BarcodeUtil.getFormattedBarcode(barcode));
if (index != -1) {
ReceiveOrderBean receiveOrderBean = viewModel.getReceiveOrderList().get(index);
viewModel.setReceiveOrderBean(receiveOrderBean);
txtDescription.setText(receiveOrderBean.getDescription());
txtQuantity.setText(BarcodeUtil.removeTrailingZeroes(receiveOrderBean.getQuantity()));
viewModel.setDescription(receiveOrderBean.getDescription());
......@@ -451,6 +452,7 @@ public class ReceiveOrderActivity extends BaseAppCompatNoDrawerActivity {
private void onSaveCompleted() {
viewModel.clearReceiveOrder();
viewModel.setReceiveOrderBean(null);
viewModel.setLastEntry(viewModel.getReceiptList().get(viewModel.lastIndex()));
populateViewModel();
etxtBarcode.performClick();
......
......@@ -27,6 +27,7 @@ import in.techware.carrefour.dbUtils.dao.PromotionDao;
import in.techware.carrefour.dbUtils.dao.ReceiptDao;
import in.techware.carrefour.dbUtils.dao.ReceiveOrderDao;
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.StoreToOffsiteDao;
import in.techware.carrefour.dbUtils.dao.TransformQuantityDao;
......@@ -52,6 +53,7 @@ import in.techware.carrefour.dbUtils.entity.PromotionEntity;
import in.techware.carrefour.dbUtils.entity.ReceiptEntity;
import in.techware.carrefour.dbUtils.entity.ReceiveOrderEntity;
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.StoreToOffsiteEntity;
import in.techware.carrefour.dbUtils.entity.TransformQuantityEntity;
......@@ -89,7 +91,8 @@ import in.techware.carrefour.dbUtils.entity.WasteEntity;
OrderEntity.class,
ReceiveOrderEntity.class,
ReceiptEntity.class,
LabelRequestEntity.class
LabelRequestEntity.class,
SellingAreaStockEntity.class
}, version = 1)
@TypeConverters({DataTypeConverters.class})
public abstract class CarrefourRoomDatabase extends RoomDatabase {
......@@ -161,4 +164,6 @@ public abstract class CarrefourRoomDatabase extends RoomDatabase {
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 {
if (str.length() > 0) {
ReceiveOrderBean receiveOrderBean = new ReceiveOrderBean();
receiveOrderBean.setOrder(str);
receiveOrderBean.setSupplier(str.length() >= 51 ? str.substring(51, 51 + 10) : "");
receiveOrderBean.setOrderNo((str.length() >= 8 ? str.substring(0, 8) : "").trim());
receiveOrderBean.setBarcode(str.length() >= 21 ? str.substring(8, 21) : "");
receiveOrderBean.setDescription((str.length() >= 8 ? str.substring(0, 8) : "") +
(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.parseDouble(receiveOrderBean.getDescription().substring(13, 16))) / 1000;
receiveOrderBean.setQuantity(quantity);
......
......@@ -44,6 +44,7 @@ class FileTransferViewModel : ViewModel() {
var newOrderList: ArrayList<NewOrderBean> = ArrayList()
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() {
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() {
var selectedMenuBean: MenuBean? = null
var selectedSubMenuBean: MenuBean? = null
var userBean: UserBean? = null
var receiveOrderBean: ReceiveOrderBean? = null
var lastEntry: ReceiptBean? = null
var isModifyEnabled: Boolean = false
......
......@@ -156,7 +156,8 @@
android:focusable="false"
android:focusableInTouchMode="true"
android:hint="@string/label_quantity"
android:imeOptions="actionDone|actionNext|actionGo" />
android:imeOptions="actionDone|actionNext|actionGo"
android:inputType="numberDecimal" />
<View
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