Subversion Repositories SmartDukaan

Rev

Rev 7711 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.inventory.controllers;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import org.apache.thrift.TException;
import org.apache.thrift.transport.TTransportException;

import in.shop2020.thrift.clients.WarehouseClient;
import in.shop2020.warehouse.InventoryItem;
import in.shop2020.warehouse.Scan;
import in.shop2020.warehouse.ScanType;
import in.shop2020.warehouse.WarehouseService;
import in.shop2020.warehouse.WarehouseService.Client;

public class ScanRecordController extends BaseController{

        private String filterTypeSelector;
    private String toDate;
    private String fromDate;
    private String searchNumber;
    private SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    
        private List<Scan> scans;
        public String index() {
                if(filterTypeSelector!=null ||filterTypeSelector!=null ||fromDate!=null){
                        try {
                        return search();
                        } catch(Exception e) {
                                addActionError("Error while fetching Scan Records");
                                return INDEX;
                        }
                }else {
        return INDEX;
                }
    }
        
        public String search() throws ParseException, TException {
                try {
                        
                        Client warehouseClient = new WarehouseClient().getClient();
                        if(filterTypeSelector.equals("itemId")) {
                                Date fromDate = formatter.parse(this.fromDate);
                                Date toDate = formatter.parse(this.toDate);
                                Long itemId = Long.parseLong(searchNumber);
                                scans = warehouseClient.getInventoryScansForItem(itemId, 
                                                fromDate.getTime(), toDate.getTime());
                        } else if(filterTypeSelector.equals("serialNumber")) {
                                scans = warehouseClient.getScanRecordsForSerialNumber(searchNumber);
                        }
                        else 
                                return INDEX;
                } catch (TTransportException e) {
                        log.error("Error in getting Scan Records",e);
                }
                return INDEX;
        }

        public String getDateTime(long milliseconds) {
        Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(milliseconds);
        return formatter.format(cal.getTime());
    }
        
        public String getFilterTypeSelector() {
                return filterTypeSelector;
        }

        public void setFilterTypeSelector(String filterTypeSelector) {
                this.filterTypeSelector = filterTypeSelector;
        }

        public String getToDate() {
                return toDate;
        }

        public void setToDate(String toDate) {
                this.toDate = toDate;
        }

        public String getFromDate() {
                return fromDate;
        }

        public void setFromDate(String fromDate) {
                this.fromDate = fromDate;
        }

        public String getSearchNumber() {
                return searchNumber;
        }

        public void setSearchNumber(String searchNumber) {
                this.searchNumber = searchNumber;
        }

        public List<Scan> getScans() {
                return scans;
        }

        public void setScans(List<Scan> scans) {
                this.scans = scans;
        }
}