Rev 6784 | Rev 7199 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.hotspot.dashbaord.client.inbox;import in.shop2020.hotspot.dashbaord.client.event.AddJacketNumberEvent;import in.shop2020.hotspot.dashbaord.shared.actions.BillingType;import in.shop2020.hotspot.dashbaord.shared.actions.Order;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.enunes.gwt.mvp.client.EventBus;import com.google.gwt.event.dom.client.ClickEvent;import com.google.gwt.event.dom.client.ClickHandler;import com.google.gwt.user.client.ui.Button;import com.google.gwt.user.client.ui.DialogBox;import com.google.gwt.user.client.ui.HorizontalPanel;import com.google.gwt.user.client.ui.Label;import com.google.gwt.user.client.ui.TextBox;import com.google.gwt.user.client.ui.VerticalPanel;import com.google.gwt.user.client.ui.Widget;public class JacketInfoBox extends DialogBox {private Label errorLabel = new Label("");private Label billNumberLabel = new Label("Bill Number");private TextBox billNumber = new TextBox();private Label warehousePickSuggestion = new Label("");private Label jacketNumberLabel = new Label("Jacket Number");private TextBox jacketNumberBox = new TextBox();private Label itemNumberLabel = new Label("Item Number");private TextBox itemNumberBox = new TextBox();private Label serialNumberLabel = new Label("Serial No.");private TextBox serialNumberBox = new TextBox();private Label freebieWarehouseLabel = new Label("Freebie Warehouse");private TextBox freebieWarehouseBox = new TextBox();private Label billedBy = new Label("Billed by");private Button submitbutton = new Button("Submit");private VerticalPanel vpanel = new VerticalPanel();private long quantity;private long freebieWarehouseId = 0;private List<String> serialNumbers;private List<String> itemNumbers;public JacketInfoBox(final EventBus eventBus, final Order order, final String user,final BillingType billingType, Map<Long, String> warehouses){this.quantity = (long)order.getQuantity();serialNumbers = new ArrayList<String>((int)this.quantity);itemNumbers = new ArrayList<String>((int)this.quantity);vpanel.add(errorLabel);if (order.getPickFromWarehouse() != null) {warehousePickSuggestion.setText("Pick from WH: " + order.getPickFromWarehouse());}vpanel.add(getHorizontalPanel(jacketNumberLabel, jacketNumberBox)); //Ask for the jacket numberif(billingType == BillingType.OURS || billingType == BillingType.OURS_EXTERNAL) {// Check if we need to suggest Hotspot warehouses ?vpanel.add(warehousePickSuggestion);if (order.isHasItemNumber()) {vpanel.add(getHorizontalPanel(itemNumberLabel, itemNumberBox)); //Ask for the item numberif(order.getItemNumber() != null && !order.getItemNumber().trim().equals("")){itemNumberBox.setText(order.getItemNumber().trim());}}if(order.isSerialized()) {vpanel.add(getHorizontalPanel(serialNumberLabel, serialNumberBox)); //Ask for Serial number only in case of Handsetsif(order.getImeiNumber() != null && !order.getImeiNumber().trim().equals("")){serialNumberBox.setText(order.getImeiNumber()+"");}}}if(billingType == BillingType.OURS && order.getFreebieItemId()!=0) {vpanel.add(getHorizontalPanel(freebieWarehouseLabel, freebieWarehouseBox));}if(billingType == BillingType.OURS_EXTERNAL || billingType == BillingType.EXTERNAL){vpanel.add(getHorizontalPanel(billNumberLabel, billNumber));if(order.getInvoiceNumber() != null && !order.getInvoiceNumber().trim().equals("")){billNumber.setText(order.getInvoiceNumber().trim());}}vpanel.add(getHorizontalPanel(billedBy, new Label(user)));vpanel.add(submitbutton);setWidget(vpanel);setAutoHideEnabled(true);setGlassEnabled(true);if(billingType == BillingType.OURS || billingType == BillingType.OURS_EXTERNAL)setText("Enter all the details below:");elsesetText("Enter Jacket Number below:");setModal(true);submitbutton.addClickHandler(new ClickHandler() {@Overridepublic void onClick(ClickEvent event) {long jacketNumber = -1;String serialNumber = "";String itemNumber = "";try {jacketNumber = Long.parseLong(jacketNumberBox.getText());} catch(NumberFormatException nfe){nfe.printStackTrace();}if(jacketNumber <= 0){errorLabel.setText("Invalid Jacket number.");return;}if(billingType == BillingType.OURS || billingType == BillingType.OURS_EXTERNAL){if (order.isHasItemNumber()) {itemNumber = itemNumberBox.getText();if(itemNumber==null || itemNumber.trim().isEmpty()){errorLabel.setText("Item Number can't be left empty");return;}itemNumber = itemNumber.trim();}if(order.isSerialized()) {try {serialNumber = serialNumberBox.getText();} catch(NumberFormatException nfe){nfe.printStackTrace();}if(serialNumber == null || serialNumber.isEmpty()){errorLabel.setText("Invalid Serial number");return;}serialNumber = serialNumber.trim();}}serialNumbers.add(serialNumber);itemNumbers.add(itemNumber);if(quantity > 1 && (billingType == BillingType.OURS || billingType == BillingType.OURS_EXTERNAL) && order.isSerialized()) {quantity = quantity - 1;itemNumberBox.setText("");serialNumberBox.setText("");errorLabel.setText( quantity + " more items need to be scanned. Scan next item.");return;}if(billingType == BillingType.OURS) {if(freebieWarehouseBox.getText()!=null && freebieWarehouseBox.getText()!="") {freebieWarehouseId = Long.parseLong(freebieWarehouseBox.getText());}}if((billingType == BillingType.OURS || billingType == BillingType.OURS_EXTERNAL) && !order.isSerialized()){for(int i=1; i<(int)quantity; i++){serialNumbers.add(serialNumber);itemNumbers.add(itemNumber);}}eventBus.fireEvent(new AddJacketNumberEvent(order, billNumber.getText(), jacketNumber, serialNumbers, itemNumbers, freebieWarehouseId, user, billingType));hide();clean();}});}public void clean() {jacketNumberBox.setText("");serialNumberBox.setText("");billNumber.setText("");freebieWarehouseBox.setText("");errorLabel.setText("");warehousePickSuggestion.setText("");}private HorizontalPanel getHorizontalPanel(Label label, Widget textBox) {HorizontalPanel hpanel = new HorizontalPanel();hpanel.setSpacing(5);hpanel.add(label);hpanel.add(textBox);hpanel.setCellWidth(label, "120px");return hpanel;}}