Subversion Repositories SmartDukaan

Rev

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