Subversion Repositories SmartDukaan

Rev

Rev 4359 | Rev 4363 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
167 ashish 1
package in.shop2020.hotspot.dashbaord.client.inbox;
2
 
2610 chandransh 3
import in.shop2020.hotspot.dashbaord.client.event.ReceiveReturnEvent;
167 ashish 4
import in.shop2020.hotspot.dashbaord.client.event.AcceptOrderEvent;
487 rajveer 5
import in.shop2020.hotspot.dashbaord.client.event.NostockOrderEvent;
2509 chandransh 6
import in.shop2020.hotspot.dashbaord.client.event.FlagOrderEvent;
2513 chandransh 7
import in.shop2020.hotspot.dashbaord.client.event.RequestPickupEvent;
2628 chandransh 8
import in.shop2020.hotspot.dashbaord.client.event.ReshipOrderEvent;
3065 chandransh 9
import in.shop2020.hotspot.dashbaord.client.event.VerifyOrderEvent;
2843 chandransh 10
import in.shop2020.hotspot.dashbaord.shared.actions.BillingType;
306 ashish 11
import in.shop2020.hotspot.dashbaord.shared.actions.DetailsMask;
167 ashish 12
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
2835 chandransh 13
import in.shop2020.hotspot.dashbaord.shared.actions.UserType;
167 ashish 14
 
15
import org.enunes.gwt.mvp.client.EventBus;
16
 
17
import com.google.gwt.core.client.GWT;
18
import com.google.gwt.event.dom.client.ClickEvent;
19
import com.google.gwt.event.dom.client.ClickHandler;
20
import com.google.gwt.resources.client.CssResource;
21
import com.google.gwt.uibinder.client.UiBinder;
22
import com.google.gwt.uibinder.client.UiField;
487 rajveer 23
import com.google.gwt.user.client.Window;
306 ashish 24
import com.google.gwt.user.client.ui.Button;
167 ashish 25
import com.google.gwt.user.client.ui.FlexTable;
306 ashish 26
import com.google.gwt.user.client.ui.HorizontalPanel;
27
import com.google.gwt.user.client.ui.Label;
167 ashish 28
import com.google.gwt.user.client.ui.ResizeComposite;
306 ashish 29
import com.google.gwt.user.client.ui.VerticalPanel;
167 ashish 30
import com.google.gwt.user.client.ui.Widget;
31
 
32
public class OrderDetails extends ResizeComposite{
33
 
34
	public interface Listener{
35
		void onClick();
36
	}
37
 
585 chandransh 38
	interface OrderDetailsUiBinder extends UiBinder<Widget, OrderDetails>{ }
167 ashish 39
 
40
	interface SelectionStyle extends CssResource{
306 ashish 41
		String blueLabel();
42
		String greenLabel();
167 ashish 43
	}
44
 
585 chandransh 45
	private static final OrderDetailsUiBinder binder = GWT.create(OrderDetailsUiBinder.class);
167 ashish 46
 
47
	@UiField FlexTable header;
48
	@UiField FlexTable table;
306 ashish 49
	@UiField HorizontalPanel orderDetails;
50
	@UiField VerticalPanel orderDetails1;
51
	@UiField VerticalPanel orderDetails2;
52
	@UiField VerticalPanel orderDetails3;
53
	@UiField VerticalPanel orderDetails4;
54
	@UiField VerticalPanel orderDetails5;
55
	@UiField SelectionStyle selectionStyle;
167 ashish 56
 
57
 
58
	private final EventBus eventbus;
59
	private Order order;
60
	private Order transaction;
2509 chandransh 61
 
3065 chandransh 62
	//Buttons for the Warehouse Executive
63
	private Button verifyOrder = new Button();
306 ashish 64
	private Button acceptOrder = new Button();
65
	private Button rejectOrder = new Button();
4361 rajveer 66
	private Button printAllInvoices = new Button();
306 ashish 67
	private Button notAvailable= new Button();
68
	private Button addBillingInfo= new Button();
2449 chandransh 69
	private Button printInvoice = new Button();
2610 chandransh 70
	private Button receiveReturn = new Button();
2509 chandransh 71
	private Button validateDOA = new Button();
677 chandransh 72
 
3463 chandransh 73
	//Buttons for the Admin to track order
2509 chandransh 74
	private Button flagOrder = new Button();
75
	private Button requestPickup = new Button();
76
	private Button authorizePickup = new Button();
77
	private Button refundOrder = new Button();
78
	private Button reshipOrder = new Button();	
79
 
3463 chandransh 80
	//Buttons for the Admin to edit order details
81
	private Button addWeight = new Button();
82
	private Button changeColor = new Button();
3553 chandransh 83
	private Button addDelayReason = new Button();
3463 chandransh 84
	private Button shiftWarehouse = new Button();
85
 
306 ashish 86
	private String user;
87
	private DetailsMask mask;
677 chandransh 88
	private long warehouseID;
2835 chandransh 89
	private UserType userType;
2843 chandransh 90
	private BillingType billingType;
167 ashish 91
 
2843 chandransh 92
	public OrderDetails(EventBus eventbus, Order order, Order order2, DetailsMask mask, String user, long warehouseID, UserType userType, BillingType billingType){
167 ashish 93
		this.eventbus = eventbus;
94
		this.order = order;
95
		this.transaction = order2;
306 ashish 96
		this.mask = mask;
97
		this.user = user;
677 chandransh 98
		this.warehouseID = warehouseID;
2835 chandransh 99
		this.userType = userType;
2843 chandransh 100
		this.billingType = billingType;
2449 chandransh 101
 
167 ashish 102
		initWidget(binder.createAndBindUi(this));
4359 rajveer 103
		initTableForWE();
2835 chandransh 104
		if(this.userType == UserType.ADMIN){
2509 chandransh 105
			initTableForAdmin();
106
		}
306 ashish 107
		loadOrderDetails();
167 ashish 108
	}
109
 
2509 chandransh 110
	private void initTableForWE() {
167 ashish 111
		header.getColumnFormatter().setWidth(0, "128px");
306 ashish 112
	    header.getColumnFormatter().setWidth(1, "128px");
113
	    header.getColumnFormatter().setWidth(2, "128px");
114
	    header.getColumnFormatter().setWidth(3, "128px");
115
	    header.getColumnFormatter().setWidth(4, "128px");
677 chandransh 116
	    header.getColumnFormatter().setWidth(5, "128px");
4251 rajveer 117
	    header.getColumnFormatter().setWidth(6, "128px");
306 ashish 118
 
3065 chandransh 119
	    verifyOrder.setText("Verify");
306 ashish 120
	    acceptOrder.setText("Accept");
121
	    notAvailable.setText("Out Of Stock");
122
	    addBillingInfo.setText("Bill");
2843 chandransh 123
	    if(billingType == BillingType.OURS)
124
	        addBillingInfo.setVisible(false);
2449 chandransh 125
	    printInvoice.setText("Print Invoice");
2610 chandransh 126
	    receiveReturn.setText("Receive Return");
2509 chandransh 127
	    validateDOA.setText("Validate DOA");
4248 rajveer 128
	    rejectOrder.setText("Cancel Order");
4361 rajveer 129
	    printAllInvoices.setText("Print All Invoices");
486 rajveer 130
 
3065 chandransh 131
	    header.setWidget(0, 0, verifyOrder);
132
	    header.setWidget(0, 1, acceptOrder);
133
	    header.setWidget(0, 2, notAvailable);
134
	    header.setWidget(0, 3, addBillingInfo);
135
	    header.setWidget(0, 4, printInvoice);
136
	    header.setWidget(0, 5, receiveReturn);
137
	    header.setWidget(0, 6, validateDOA);
4248 rajveer 138
	    header.setWidget(0, 7, rejectOrder);
4361 rajveer 139
	    header.setWidget(0, 8, printAllInvoices);
2509 chandransh 140
 
141
	    registerButtonHandlersForWE();
142
		implementMaskForWE();
167 ashish 143
	}
144
 
2509 chandransh 145
	private void registerButtonHandlersForWE(){
3065 chandransh 146
	    verifyOrder.addClickHandler(new ClickHandler() {
147
 
148
            @Override
149
            public void onClick(ClickEvent event) {
150
                if(verifyOrder.isEnabled()){
151
                    GWT.log("Verify order event fired");
152
                    eventbus.fireEvent(new VerifyOrderEvent(order));
153
                }
154
            }
155
        });
156
 
306 ashish 157
		acceptOrder.addClickHandler(new ClickHandler() {
158
 
159
			@Override
160
			public void onClick(ClickEvent event) {
2558 chandransh 161
				if(acceptOrder.isEnabled())
306 ashish 162
					eventbus.fireEvent(new AcceptOrderEvent(order));
163
			}
164
		});
486 rajveer 165
 
487 rajveer 166
		notAvailable.addClickHandler(new ClickHandler() {
167
 
168
			@Override
169
			public void onClick(ClickEvent event) {
2558 chandransh 170
				if(notAvailable.isEnabled())
171
					eventbus.fireEvent(new NostockOrderEvent(order));
487 rajveer 172
			}
173
		});
174
 
4248 rajveer 175
		rejectOrder.addClickHandler(new ClickHandler() {
176
 
177
			@Override
178
			public void onClick(ClickEvent event) {
179
				if(rejectOrder.isEnabled()){
180
					RejectReasonBox box = new RejectReasonBox(eventbus, order, user);
181
					box.center();
182
				}
183
			}
184
		});
185
 
306 ashish 186
		addBillingInfo.addClickHandler(new ClickHandler() {
187
 
188
			@Override
189
			public void onClick(ClickEvent event) {
1146 chandransh 190
				if(!addBillingInfo.isEnabled())
191
					return;
306 ashish 192
				BillingInfoBox box = new BillingInfoBox(eventbus, order, user);
193
				box.center();				
194
			}
195
		});
487 rajveer 196
 
2449 chandransh 197
		printInvoice.addClickHandler(new ClickHandler() {
306 ashish 198
 
199
			@Override
200
			public void onClick(ClickEvent event) {
2449 chandransh 201
				if(!printInvoice.isEnabled())
1146 chandransh 202
					return;
4265 rajveer 203
				if(order.getJacketNumber()==0 && billingType == BillingType.OURS){
2843 chandransh 204
					JacketInfoBox box = new JacketInfoBox(eventbus, order, user, billingType);
1146 chandransh 205
					//box.clean();
206
					box.center();
207
				}else{
4361 rajveer 208
					String invoiceGenerationUrl = GWT.getHostPageBaseURL() + "invoice/?id=" + order.getOrderId() + "&warehouse=" + warehouseID;
2843 chandransh 209
					if(billingType == BillingType.OURS)
210
					    invoiceGenerationUrl += "&withBill=true";
211
					else
212
					    invoiceGenerationUrl += "&withBill=false";
1146 chandransh 213
					Window.open(invoiceGenerationUrl, "newWindowName", "window features.");
214
				}
306 ashish 215
			}
216
		});
2588 chandransh 217
 
4361 rajveer 218
		printAllInvoices.addClickHandler(new ClickHandler() {
219
 
220
			@Override
221
			public void onClick(ClickEvent event) {
222
				if(!printAllInvoices.isEnabled()){
223
					return;
224
				}else{
225
					String invoiceGenerationUrl = GWT.getHostPageBaseURL() + "invoice/?id=" + order.getOrderId() + "&printAll=true&warehouse=" + warehouseID;
226
					if(billingType == BillingType.OURS)
227
					    invoiceGenerationUrl += "&withBill=true";
228
					else
229
					    invoiceGenerationUrl += "&withBill=false";
230
					Window.open(invoiceGenerationUrl, "newWindowName", "window features.");
231
				}
232
			}
233
		});
234
 
2610 chandransh 235
		receiveReturn.addClickHandler(new ClickHandler() {
2588 chandransh 236
 
237
			@Override
238
			public void onClick(ClickEvent event) {
2610 chandransh 239
				if(receiveReturn.isEnabled())
240
					eventbus.fireEvent(new ReceiveReturnEvent(order));
2588 chandransh 241
			}
242
		});
243
 
244
		validateDOA.addClickHandler(new ClickHandler() {
245
 
246
			@Override
247
			public void onClick(ClickEvent event) {
248
				if(!validateDOA.isEnabled())
249
					return;
250
				DoaValidationBox box = new DoaValidationBox(eventbus, order);
251
				box.center();
252
			}
253
		});
2449 chandransh 254
	}
487 rajveer 255
 
2509 chandransh 256
	private void implementMaskForWE(){
306 ashish 257
		switch(mask){
3065 chandransh 258
		case VERIFICATION_PENDING:
4356 rajveer 259
		    maskButtonsForWE(false, false, false, false, false, false, false, false); //Do not allow the WE to verify the order.
3065 chandransh 260
		    break;
306 ashish 261
		case NEW:
4251 rajveer 262
			maskButtonsForWE(false, true, false, true, false, false, false, false);  //Allow the WE to either accept the order or mark it as out of stock.
306 ashish 263
			break;
264
		case ACCEPT:
2843 chandransh 265
		    //TODO: Mask buttons based on the billingType
266
		    if(billingType == BillingType.OURS)
3065 chandransh 267
		        maskButtonsForWE(false, false, false, false, true, true, false, false); // For our billing, allow the WE to directly print the invoive.
2843 chandransh 268
		    else
4265 rajveer 269
		        maskButtonsForWE(false, false, false, false, true, true, false, false); //For external billing, allow the WE to feed the invoice info.
306 ashish 270
			break;
486 rajveer 271
		case REJECT:
3065 chandransh 272
			maskButtonsForWE(false, false, false, false, false, false, false, false); //Can't do anything once the order has been rejected.
486 rajveer 273
			break;
306 ashish 274
		case BILL:
3065 chandransh 275
			maskButtonsForWE(false, false, false, false, true, false, false, false); //Allow WE to print the invoice for a billed order.
306 ashish 276
			break;
277
		case SHIP:
3065 chandransh 278
			maskButtonsForWE(false, false, false, false, false, false, false, false);
306 ashish 279
			break;
487 rajveer 280
		case NO_STOCK:
4248 rajveer 281
			maskButtonsForWE(false, true, false, false, false, false, false, false); //Allow WE to accept a low inventory item. 
487 rajveer 282
			break;
4248 rajveer 283
		case CANCEL_CONFIRMED:
284
			maskButtonsForWE(false, false, true, false, false, false, false, false); //Allow WE to Cancel a order which is in cancellation pending state. 
285
			break;			
2509 chandransh 286
		case DOA_AWAITED:
2610 chandransh 287
		case SALES_RETURN_AWAITED:
3065 chandransh 288
			maskButtonsForWE(false, false, false, false, false, false, true, false); //Allow WE to accept the packet.
2509 chandransh 289
			break;
2610 chandransh 290
		case DOA_RECEIVED:
3065 chandransh 291
			maskButtonsForWE(false, false, false, false, false, false, false, true); //Allow WE to validate the DOA certificate.
2509 chandransh 292
			break;
2558 chandransh 293
		default:
3065 chandransh 294
			maskButtonsForWE(false, false, false, false, false, false, false, false); //Unknown state, let's disallow any untoward actions.
2558 chandransh 295
			break;
306 ashish 296
		}
297
	}
298
 
3065 chandransh 299
	private void maskButtonsForWE(boolean verify, boolean accept, boolean reject, boolean notavailable, boolean printInv, boolean billing, boolean acceptdoa, boolean validatedoa){
300
	    verifyOrder.setEnabled(verify);
301
	    acceptOrder.setEnabled(accept);
306 ashish 302
		notAvailable.setEnabled(notavailable);
2449 chandransh 303
		printInvoice.setEnabled(printInv);
306 ashish 304
		addBillingInfo.setEnabled(billing);
2610 chandransh 305
		receiveReturn.setEnabled(acceptdoa);
2509 chandransh 306
		validateDOA.setEnabled(validatedoa);
307
		rejectOrder.setEnabled(reject);
306 ashish 308
	}
2509 chandransh 309
 
310
	private void initTableForAdmin() {
311
	    if(transaction.isDoaFlag()){
312
	    	flagOrder.setText("Unflag");
313
	    } else {
314
	    	flagOrder.setText("Flag");
315
	    }
316
 
317
	    requestPickup.setText("Request Pick-up No");
318
	    authorizePickup.setText("Authorize Pick-up");
319
	    reshipOrder.setText("Reship");
320
	    refundOrder.setText("Refund");
321
 
2558 chandransh 322
	    header.setWidget(1, 0, flagOrder);
323
	    header.setWidget(1, 1, requestPickup);
324
	    header.setWidget(1, 2, authorizePickup);
325
	    header.setWidget(1, 3, reshipOrder);
326
	    header.setWidget(1, 6, refundOrder);
2509 chandransh 327
 
3463 chandransh 328
	    addWeight.setText("Add weight");
329
	    changeColor.setText("Change Color");
3553 chandransh 330
	    addDelayReason.setText("Add Delay Reason");
3463 chandransh 331
	    shiftWarehouse.setText("Shift Warehouse");
332
 
333
	    header.setWidget(2, 0, addWeight);
334
	    header.setWidget(2, 1, changeColor);
3553 chandransh 335
	    header.setWidget(2, 2, addDelayReason);
3463 chandransh 336
	    header.setWidget(2, 6, shiftWarehouse);
337
 
338
	    if(order.getTotalWeight() != 0)
339
	        addWeight.setEnabled(false);
340
 
2509 chandransh 341
	    registerButtonHandlersForAdmin();
3729 chandransh 342
		implementMaskForAdmin();
2509 chandransh 343
	}
306 ashish 344
 
2509 chandransh 345
	private void registerButtonHandlersForAdmin(){
346
		flagOrder.addClickHandler(new ClickHandler() {
347
 
348
			@Override
349
			public void onClick(ClickEvent event) {
350
				if(flagOrder.isEnabled()){
351
					eventbus.fireEvent(new FlagOrderEvent(order));
352
				}
353
			}
354
		});
355
 
356
		requestPickup.addClickHandler(new ClickHandler() {
357
 
358
			@Override
359
			public void onClick(ClickEvent event) {
2513 chandransh 360
				if(requestPickup.isEnabled()){
361
					GWT.log("Raising a pickup request for: " + order.getOrderId());
362
					eventbus.fireEvent(new RequestPickupEvent(order));
363
				}
2509 chandransh 364
			}
365
		});
366
 
367
		authorizePickup.addClickHandler(new ClickHandler() {
368
 
369
			@Override
370
			public void onClick(ClickEvent event) {
2526 chandransh 371
				if(!authorizePickup.isEnabled())
372
					return;
373
				PickupAuthorizationInfoBox box = new PickupAuthorizationInfoBox(eventbus, order);
374
				box.center();
2509 chandransh 375
			}
376
		});
377
 
2628 chandransh 378
		reshipOrder.addClickHandler(new ClickHandler() {
379
 
380
			@Override
381
			public void onClick(ClickEvent event) {
382
				if(reshipOrder.isEnabled()){
383
					GWT.log("Reshipping the order: " + order.getOrderId());
384
					eventbus.fireEvent(new ReshipOrderEvent(order));
385
				}
386
			}
387
		});
388
 
2509 chandransh 389
		refundOrder.addClickHandler(new ClickHandler() {
390
 
391
			@Override
392
			public void onClick(ClickEvent event) {
2747 chandransh 393
				if(refundOrder.isEnabled()){
394
					RejectReasonBox box = new RejectReasonBox(eventbus, order, user);
2558 chandransh 395
					//box.clear();
4092 chandransh 396
					box.center();
2558 chandransh 397
				}
2509 chandransh 398
			}
399
		});
3463 chandransh 400
 
401
		addWeight.addClickHandler(new ClickHandler() {
402
 
403
            @Override
404
            public void onClick(ClickEvent event) {
405
                if(addWeight.isEnabled()){
406
                    AddWeightBox box = new AddWeightBox(eventbus, order);
407
                    box.center();
408
                }
409
            }
410
        });
411
 
412
		changeColor.addClickHandler(new ClickHandler() {
413
 
414
            @Override
415
            public void onClick(ClickEvent event) {
3473 chandransh 416
                if(changeColor.isEnabled()){
417
                    ChooseColorBox box = new ChooseColorBox(eventbus, order);
418
                    box.center();
419
                }
3463 chandransh 420
            }
421
        });
422
 
3553 chandransh 423
		addDelayReason.addClickHandler(new ClickHandler() {
424
 
425
            @Override
426
            public void onClick(ClickEvent event) {
427
                AddDelayReasonBox box = new AddDelayReasonBox(eventbus, order);
428
                box.center();
429
            }
430
        });
431
 
3463 chandransh 432
		shiftWarehouse.addClickHandler(new ClickHandler() {
433
 
434
            @Override
435
            public void onClick(ClickEvent event) {
3473 chandransh 436
                if(shiftWarehouse.isEnabled()){
437
                    ChooseWarehouseBox box = new ChooseWarehouseBox(eventbus, order);
438
                    box.center();
439
                }
3463 chandransh 440
            }
441
        });
2509 chandransh 442
	}
443
 
444
	private void implementMaskForAdmin(){
445
		switch(mask){
3186 chandransh 446
		case VERIFICATION_PENDING:
3729 chandransh 447
        case NEW:
448
        case NO_STOCK:
449
        case ACCEPT:
450
        case BILL:
4309 rajveer 451
			maskButtonsForAdmin(false, false, false, false, true, true); //Allow the OM to refund a COD order or an order with low inventory or when a customer calls or writes to cancel an order.
2558 chandransh 452
			break;
2509 chandransh 453
		case DELIVERED:
4309 rajveer 454
			maskButtonsForAdmin(true, true, false, false, false, true);	//Allow the OM to flag and request pickup.
2509 chandransh 455
			break;
456
		case DOA_PICKUP_REQUESTED:
4309 rajveer 457
			maskButtonsForAdmin(true, true, true, false, false, true);	//Allow the OM to either re-request a pickup no. or authorize pickup by entering one
2509 chandransh 458
			break;
2610 chandransh 459
		case DOA_RETURNED:
2509 chandransh 460
		case SALES_RETURNED:
4309 rajveer 461
			maskButtonsForAdmin(false, false, false, true, true, true);	//Allow the OM to either reship the order or refund it
2509 chandransh 462
			break;
2558 chandransh 463
		default:
4309 rajveer 464
			maskButtonsForAdmin(false, false, false, false, false, true);	//Unknown state. Let's not allow any untoward actions.
2558 chandransh 465
			break;
2509 chandransh 466
		}
467
	}
468
 
4309 rajveer 469
	private void maskButtonsForAdmin(boolean flag, boolean reqPickup, boolean authPickup, boolean reship, boolean refund, boolean printInv){
2509 chandransh 470
		flagOrder.setEnabled(flag);
471
		requestPickup.setEnabled(reqPickup);
472
		authorizePickup.setEnabled(authPickup);
473
		reshipOrder.setEnabled(reship);
474
		refundOrder.setEnabled(refund);
4309 rajveer 475
		printInvoice.setEnabled(printInv);
2509 chandransh 476
	}
477
 
306 ashish 478
	private void loadOrderDetails(){
4175 rajveer 479
		orderDetails1.add(getHorizontalPanel("FREE ITEM:    ", transaction.getDealText()));
966 chandransh 480
		orderDetails1.add(getHorizontalPanel("PRODUCT GROUP: ", transaction.getProductGroup()));
481
		orderDetails1.add(getHorizontalPanel("BRAND:   	     ", transaction.getBrand()));
482
		orderDetails1.add(getHorizontalPanel("MODEL:         ", getModelDisplayName(transaction)));
483
		orderDetails1.add(getHorizontalPanel("Item ID:       ", transaction.getItemId()+""));
4175 rajveer 484
 
3553 chandransh 485
		orderDetails1.add(getHorizontalPanel("DELAY REASON:  ", transaction.getDelayReason()));
4004 chandransh 486
		orderDetails1.add(getHorizontalPanel("ALERT:         ", transaction.getAlert().toString()));
306 ashish 487
 
966 chandransh 488
		orderDetails2.add(getHorizontalPanel("NAME:          ", transaction.getCustomerName()));
489
		orderDetails2.add(getHorizontalPanel("ADDRESS:       ", getDisplayAddress(transaction)));
490
		orderDetails2.add(getHorizontalPanel("MOBILE NUMBER: ", transaction.getCustomerMobileNumber()));
306 ashish 491
 
966 chandransh 492
		orderDetails3.add(getHorizontalPanel("TOTAL WEIGHT:      ", transaction.getTotalWeight()+""));
493
		orderDetails3.add(getHorizontalPanel("TOTAL AMOUNT(Rs):  ", transaction.getTotalAmount()+""));
306 ashish 494
 
966 chandransh 495
		orderDetails4.add(getHorizontalPanel("AIRWAY BILL NO:  ", transaction.getAirwayBillNo()));
496
		orderDetails4.add(getHorizontalPanel("INVOICE NUMBER:  ", transaction.getInvoiceNumber()));
497
		orderDetails4.add(getHorizontalPanel("JACKET NUMBER:   ", transaction.getJacketNumber() + ""));
2781 chandransh 498
        orderDetails4.add(getHorizontalPanel("ITEM NO:         ", getDisplayNameForNullableString(transaction.getItemNumber())));
499
        orderDetails4.add(getHorizontalPanel("IMEI NO:         ", transaction.getImeiNumber() + ""));
500
 
966 chandransh 501
		orderDetails4.add(getHorizontalPanel("BILLED BY:       ", transaction.getBilledBy()));		
502
	}
639 chandransh 503
 
966 chandransh 504
	private HorizontalPanel getHorizontalPanel(String labelText, String valueText) {
505
		HorizontalPanel hpanel = new HorizontalPanel();
639 chandransh 506
		hpanel.setSpacing(5);
966 chandransh 507
		hpanel.add(new Label(labelText));
508
		hpanel.add(new Label(valueText));
639 chandransh 509
		hpanel.setCellWidth(hpanel.getWidget(0), "128px");
510
		hpanel.setCellWidth(hpanel.getWidget(1), "128px");
511
		hpanel.getWidget(0).setStyleName(selectionStyle.blueLabel());
512
		hpanel.getWidget(1).setStyleName(selectionStyle.greenLabel());
966 chandransh 513
		return hpanel;
514
	}
306 ashish 515
 
966 chandransh 516
	private String getModelDisplayName(Order order){
517
		String modelName = "";
518
		if(order.getModelName()!=null)
519
			modelName = order.getModelName() + " ";
520
		if(order.getModelNumber()!=null)
521
			modelName = modelName + order.getModelNumber();
522
		if(order.getColor()!=null)
523
			modelName = modelName + " (" + order.getColor() + ")";
524
		return modelName;
306 ashish 525
	}
966 chandransh 526
 
527
	private String getDisplayAddress(Order order){
528
		StringBuilder displayAddress = new StringBuilder();
529
		displayAddress.append(order.getCustomerAddress1() + "\n");
530
		displayAddress.append(order.getCustomerAddress2() + "\n");
531
		displayAddress.append(order.getCustomerCity() + "\n");
532
		displayAddress.append(order.getCustomerState() + "   PIN - " +  order.getCustomerPincode());
533
		return displayAddress.toString();
534
	}
2781 chandransh 535
 
536
    private String getDisplayNameForNullableString(String s) {
537
        if (s == null)
538
            return "";
539
        return s;
540
    }
167 ashish 541
}