Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
1146 chandransh 1
package in.shop2020.hotspot.dashbaord.client.inbox;
2
 
3
import in.shop2020.hotspot.dashbaord.client.event.AddJacketNumberEvent;
2843 chandransh 4
import in.shop2020.hotspot.dashbaord.shared.actions.BillingType;
1146 chandransh 5
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
6
 
5411 rajveer 7
import java.util.ArrayList;
13146 manish.sha 8
import java.util.HashMap;
5411 rajveer 9
import java.util.List;
5110 mandeep.dh 10
import java.util.Map;
11
 
1146 chandransh 12
import org.enunes.gwt.mvp.client.EventBus;
13
 
14
import com.google.gwt.event.dom.client.ClickEvent;
15
import com.google.gwt.event.dom.client.ClickHandler;
13146 manish.sha 16
import com.google.gwt.event.dom.client.KeyPressEvent;
17
import com.google.gwt.event.dom.client.KeyPressHandler;
1146 chandransh 18
import com.google.gwt.user.client.ui.Button;
13227 manish.sha 19
import com.google.gwt.user.client.ui.CheckBox;
1146 chandransh 20
import com.google.gwt.user.client.ui.DialogBox;
13146 manish.sha 21
import com.google.gwt.user.client.ui.HTML;
22
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
1146 chandransh 23
import com.google.gwt.user.client.ui.HorizontalPanel;
24
import com.google.gwt.user.client.ui.Label;
20730 kshitij.so 25
import com.google.gwt.user.client.ui.ListBox;
13146 manish.sha 26
import com.google.gwt.user.client.ui.ScrollPanel;
1146 chandransh 27
import com.google.gwt.user.client.ui.TextBox;
28
import com.google.gwt.user.client.ui.VerticalPanel;
2781 chandransh 29
import com.google.gwt.user.client.ui.Widget;
1146 chandransh 30
 
31
public class JacketInfoBox extends DialogBox {
32
	private Label errorLabel = new Label("");
2781 chandransh 33
 
20730 kshitij.so 34
	//private Label jacketNumberLabel = new Label("Jacket Number");
6746 rajveer 35
 
5110 mandeep.dh 36
	private Label warehousePickSuggestion = new Label("");
13146 manish.sha 37
 
20730 kshitij.so 38
	//private TextBox jacketNumberBox = new TextBox();
2781 chandransh 39
 
20730 kshitij.so 40
	private Label packageDimensionsLabel = new Label("Package Dimensions");
41
 
42
	private ListBox packageDimensions = new ListBox();
43
 
13146 manish.sha 44
	private Label billedByLabel = new Label("Billed By");
2781 chandransh 45
 
13146 manish.sha 46
	private Label billNumberLabel = new Label("Bill Number");
47
	private TextBox billNumber = new TextBox();
2781 chandransh 48
 
20730 kshitij.so 49
//	private CheckBox changeInvoiceType = new CheckBox("Bulk Invoice");
13227 manish.sha 50
 
13146 manish.sha 51
	private VerticalPanel vpanel = new VerticalPanel();
7190 amar.kumar 52
 
13146 manish.sha 53
	private ScrollPanel spanel = new ScrollPanel();
7190 amar.kumar 54
 
13146 manish.sha 55
	private Button submitbutton = new Button("Submit");
2781 chandransh 56
 
13710 manish.sha 57
	private Button cancelButton = new Button("Cancel");
58
 
13146 manish.sha 59
	private Map<Long, List<String>> itemNumbersMap = new HashMap<Long, List<String>>();
60
 
61
	private Map<Long, List<String>> serialNumbersMap = new HashMap<Long, List<String>>();
62
 
63
	private Map<Long, List<Long>> freebieWarehouseIdMap = new HashMap<Long, List<Long>>();
64
 
65
 
66
	private Map<Long, List<TextBox>> itemNumbersBoxMap= new HashMap<Long, List<TextBox>>();
67
 
68
	private Map<Long, List<TextBox>> serialNumbersBoxMap = new HashMap<Long, List<TextBox>>();
69
 
70
	private Map<Long, List<TextBox>> freebieWarehouseIdBoxMap = new HashMap<Long, List<TextBox>>();
71
 
72
 
73
	private HorizontalPanel hpanel;
74
 
13231 manish.sha 75
	private Widget tmpLabel; 
76
 
5110 mandeep.dh 77
	public JacketInfoBox(final EventBus eventBus, final Order order, final String user,
13146 manish.sha 78
	        final BillingType billingType, Map<Long, String> warehouses, final Map<Long, Map<String, String>> billTogetherOrdersMap){
1146 chandransh 79
		vpanel.add(errorLabel);
13146 manish.sha 80
 
20730 kshitij.so 81
//		jacketNumberBox.addKeyPressHandler(new KeyPressHandler() {
82
//			@Override
83
//			public void onKeyPress(KeyPressEvent event) {
84
//				// TODO Auto-generated method stub
85
//				if (!Character.isDigit(event.getCharCode())) {
86
//			          ((TextBox) event.getSource()).cancelKey();
87
//			    }
88
//			}
89
//		});
13146 manish.sha 90
 
20730 kshitij.so 91
//		vpanel.add(getHorizontalPanel(jacketNumberLabel, jacketNumberBox));
92
		packageDimensions.addItem("L X B X H","0");
93
		packageDimensions.addItem("100 X 100 X 100","1");
94
		packageDimensions.addItem("200 X 200 X 200","2");
95
		vpanel.add(getHorizontalPanel(packageDimensionsLabel, packageDimensions));
13146 manish.sha 96
 
97
		vpanel.add(getHorizontalPanel(billedByLabel, new Label(user)));
98
 
13315 manish.sha 99
		if (order.getPickFromWarehouse() != null && billTogetherOrdersMap.size()==1) {
5110 mandeep.dh 100
		    warehousePickSuggestion.setText("Pick from WH: " + order.getPickFromWarehouse());
13315 manish.sha 101
		    vpanel.add(warehousePickSuggestion);
5110 mandeep.dh 102
		}
13315 manish.sha 103
 
20730 kshitij.so 104
//		changeInvoiceType = new CheckBox("BulkInvoice");
105
//		changeInvoiceType.setValue(false);
106
//		if(!order.getSource().equals("WEBSITE")) {
107
//			changeInvoiceType.setEnabled(false);
108
//		}
109
//		
110
//		
111
//		vpanel.add(changeInvoiceType);		
13227 manish.sha 112
 
6746 rajveer 113
		if(billingType == BillingType.OURS_EXTERNAL || billingType == BillingType.EXTERNAL){
114
			vpanel.add(getHorizontalPanel(billNumberLabel, billNumber));
115
			if(order.getInvoiceNumber() != null && !order.getInvoiceNumber().trim().equals("")){
116
				billNumber.setText(order.getInvoiceNumber().trim());
117
			}
118
		}
119
 
13228 manish.sha 120
		vpanel.add(new HTML("<br>"));
121
 
13146 manish.sha 122
		hpanel = new HorizontalPanel();
123
		hpanel.setSpacing(5);
13231 manish.sha 124
		tmpLabel = new Label("Order Id");
125
		hpanel.add(tmpLabel);
13232 manish.sha 126
		hpanel.setCellWidth(tmpLabel, "50");
13231 manish.sha 127
		tmpLabel = new Label("Product Name");
128
		hpanel.add(tmpLabel);
13234 manish.sha 129
		hpanel.setCellWidth(tmpLabel, "250");
13231 manish.sha 130
		tmpLabel = new Label("Quantity");
131
		hpanel.add(tmpLabel);
20731 kshitij.so 132
//		hpanel.setCellWidth(tmpLabel, "50");
133
//		tmpLabel = new Label("Item Number");
134
//		hpanel.add(tmpLabel);
13234 manish.sha 135
		hpanel.setCellWidth(tmpLabel, "200");
13231 manish.sha 136
		tmpLabel = new Label("Serial Number");
137
		hpanel.add(tmpLabel);
13234 manish.sha 138
		hpanel.setCellWidth(tmpLabel, "200");
13231 manish.sha 139
		tmpLabel = new Label("Freebie Warehouse Id");
140
		hpanel.add(tmpLabel);
13234 manish.sha 141
		hpanel.setCellWidth(tmpLabel, "200");
13231 manish.sha 142
 
13146 manish.sha 143
		vpanel.add(hpanel);
6746 rajveer 144
 
13146 manish.sha 145
		for(Long orderId : billTogetherOrdersMap.keySet()){
146
			List<TextBox> itemNumbersBoxList = new ArrayList<TextBox>();
147
			List<TextBox> serialNumbersBoxList = new ArrayList<TextBox>();
148
			List<TextBox> freebieWarehouseIdBoxList = new ArrayList<TextBox>();
149
 
150
			long quantity = (long)Double.parseDouble(billTogetherOrdersMap.get(orderId).get("Quantity"));
151
			boolean hasSerialized = Boolean.parseBoolean(billTogetherOrdersMap.get(orderId).get("IsSerialized"));
152
			boolean hasFreebie = Boolean.parseBoolean(billTogetherOrdersMap.get(orderId).get("IsFreebie"));
153
			TextBox itemNumber;
154
			TextBox serialNumber;
155
			TextBox freebieWarehouseId;
156
 
157
			if(quantity>1){
158
				if(hasSerialized){
159
					for(long i=0; i<quantity; i++){
160
						hpanel = new HorizontalPanel();
161
						hpanel.setSpacing(5);
13231 manish.sha 162
						tmpLabel = new Label(orderId+"");
163
						hpanel.add(tmpLabel);
13233 manish.sha 164
						hpanel.setCellWidth(tmpLabel, "50");
13231 manish.sha 165
						tmpLabel = new Label(billTogetherOrdersMap.get(orderId).get("ProductName"));
166
						hpanel.add(tmpLabel);
13234 manish.sha 167
						hpanel.setCellWidth(tmpLabel, "250");
13231 manish.sha 168
						tmpLabel = new Label("1");
169
						hpanel.add(tmpLabel);
170
						hpanel.setCellWidth(tmpLabel, "50");
171
 
20730 kshitij.so 172
						//hpanel.add(new Label(orderId+""));
173
						//hpanel.add(new Label(billTogetherOrdersMap.get(orderId).get("ProductName")));
174
						//hpanel.add(new Label("1"));
13146 manish.sha 175
						itemNumber = new TextBox();
20731 kshitij.so 176
						itemNumber.setText("1");
13146 manish.sha 177
						serialNumber = new TextBox();
178
						freebieWarehouseId = new TextBox();
179
						if(!hasFreebie){
180
							freebieWarehouseId.setEnabled(false);
181
						}
182
						freebieWarehouseId.addKeyPressHandler(new KeyPressHandler() {
183
							@Override
184
							public void onKeyPress(KeyPressEvent event) {
185
								// TODO Auto-generated method stub
186
								if (!Character.isDigit(event.getCharCode())) {
187
							          ((TextBox) event.getSource()).cancelKey();
188
							    }
189
							}
190
						});
13231 manish.sha 191
 
20731 kshitij.so 192
//						hpanel.add(itemNumber);
193
//						hpanel.setCellWidth(itemNumber, "200");
13146 manish.sha 194
						hpanel.add(serialNumber);
13234 manish.sha 195
						hpanel.setCellWidth(serialNumber, "200");
13146 manish.sha 196
						hpanel.add(freebieWarehouseId);
13234 manish.sha 197
						hpanel.setCellWidth(freebieWarehouseId, "200");
13146 manish.sha 198
						vpanel.add(hpanel);
199
						itemNumbersBoxList.add(itemNumber);
200
						serialNumbersBoxList.add(serialNumber);
201
						freebieWarehouseIdBoxList.add(freebieWarehouseId);
202
					}
203
				}
204
				else{
205
					hpanel = new HorizontalPanel();
206
					hpanel.setSpacing(5);
13231 manish.sha 207
					tmpLabel = new Label(orderId+"");
208
					hpanel.add(tmpLabel);
13233 manish.sha 209
					hpanel.setCellWidth(tmpLabel, "50");
13231 manish.sha 210
					tmpLabel = new Label(billTogetherOrdersMap.get(orderId).get("ProductName"));
211
					hpanel.add(tmpLabel);
13234 manish.sha 212
					hpanel.setCellWidth(tmpLabel, "250");
13231 manish.sha 213
					tmpLabel = new Label(quantity+"");
214
					hpanel.add(tmpLabel);
215
					hpanel.setCellWidth(tmpLabel, "50");
13146 manish.sha 216
					itemNumber = new TextBox();
217
					serialNumber = new TextBox();
218
					freebieWarehouseId = new TextBox();
219
					serialNumber.setEnabled(false);
220
					if(!hasFreebie){
221
						freebieWarehouseId.setEnabled(false);
222
					}
223
					freebieWarehouseId.addKeyPressHandler(new KeyPressHandler() {
224
						@Override
225
						public void onKeyPress(KeyPressEvent event) {
226
							// TODO Auto-generated method stub
227
							if (!Character.isDigit(event.getCharCode())) {
228
						          ((TextBox) event.getSource()).cancelKey();
229
						    }
230
						}
231
					});
20731 kshitij.so 232
//					hpanel.add(itemNumber);
233
//					hpanel.setCellWidth(itemNumber, "200");
234
					itemNumber.setText("1");
13146 manish.sha 235
					hpanel.add(serialNumber);
13234 manish.sha 236
					hpanel.setCellWidth(serialNumber, "200");
13146 manish.sha 237
					hpanel.add(freebieWarehouseId);
13234 manish.sha 238
					hpanel.setCellWidth(freebieWarehouseId, "200");
13146 manish.sha 239
					vpanel.add(hpanel);
240
					itemNumbersBoxList.add(itemNumber);
241
					serialNumbersBoxList.add(serialNumber);
242
					freebieWarehouseIdBoxList.add(freebieWarehouseId);
243
				}
244
			}
245
			else {
246
 
247
				hpanel = new HorizontalPanel();
248
				hpanel.setSpacing(5);
13231 manish.sha 249
				tmpLabel = new Label(orderId+"");
250
				hpanel.add(tmpLabel);
13233 manish.sha 251
				hpanel.setCellWidth(tmpLabel, "50");
13231 manish.sha 252
				tmpLabel = new Label(billTogetherOrdersMap.get(orderId).get("ProductName"));
253
				hpanel.add(tmpLabel);
13234 manish.sha 254
				hpanel.setCellWidth(tmpLabel, "250");
13231 manish.sha 255
				tmpLabel = new Label(quantity+"");
256
				hpanel.add(tmpLabel);
257
				hpanel.setCellWidth(tmpLabel, "50");
13146 manish.sha 258
				itemNumber = new TextBox();
259
				serialNumber = new TextBox();
260
				freebieWarehouseId = new TextBox();
261
				if(!hasSerialized){
262
					serialNumber.setEnabled(false);
263
				}
264
				if(!hasFreebie){
265
					freebieWarehouseId.setEnabled(false);
266
				}
267
				freebieWarehouseId.addKeyPressHandler(new KeyPressHandler() {
268
					@Override
269
					public void onKeyPress(KeyPressEvent event) {
270
						// TODO Auto-generated method stub
271
						if (!Character.isDigit(event.getCharCode())) {
272
					          ((TextBox) event.getSource()).cancelKey();
273
					    }
274
					}
275
				});
20731 kshitij.so 276
//				hpanel.add(itemNumber);
277
//				hpanel.setCellWidth(itemNumber, "200");
278
				itemNumber.setText("1");
13146 manish.sha 279
				hpanel.add(serialNumber);
13234 manish.sha 280
				hpanel.setCellWidth(serialNumber, "200");
13146 manish.sha 281
				hpanel.add(freebieWarehouseId);
13234 manish.sha 282
				hpanel.setCellWidth(freebieWarehouseId, "200");
13146 manish.sha 283
				vpanel.add(hpanel);
284
				itemNumbersBoxList.add(itemNumber);
285
				serialNumbersBoxList.add(serialNumber);
286
				freebieWarehouseIdBoxList.add(freebieWarehouseId);
287
			}
288
 
289
			//itemNumbersBoxMap, serialNumbersBoxMap, freebieWarehouseIdBoxMap
290
			itemNumbersBoxMap.put(orderId, itemNumbersBoxList);
291
			serialNumbersBoxMap.put(orderId, serialNumbersBoxList);
292
			freebieWarehouseIdBoxMap.put(orderId, freebieWarehouseIdBoxList);
293
		}
13710 manish.sha 294
		hpanel = new HorizontalPanel();
295
		hpanel.setSpacing(5);
296
		hpanel.add(submitbutton);
297
		hpanel.add(cancelButton);
298
		vpanel.add(hpanel);
299
		vpanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
13146 manish.sha 300
 
1146 chandransh 301
		setWidget(vpanel);
13710 manish.sha 302
		setAutoHideEnabled(false);
1146 chandransh 303
		setGlassEnabled(true);
13146 manish.sha 304
		setText("Enter all the details below:");
1146 chandransh 305
		setModal(true);
13146 manish.sha 306
		setWidth("1000px");
307
 
308
 
1146 chandransh 309
		submitbutton.addClickHandler(new ClickHandler() {
310
			@Override
311
			public void onClick(ClickEvent event) {
20730 kshitij.so 312
				long jacketNumber = 1;
13146 manish.sha 313
				String itemNumber = "";
5442 rajveer 314
				String serialNumber = "";
13146 manish.sha 315
				long freebieWhId = -1;
20731 kshitij.so 316
				int packageDimensionIndex = 0;
20730 kshitij.so 317
//				try {
318
//					jacketNumber = Long.parseLong(jacketNumberBox.getText());
319
//				} catch(NumberFormatException nfe){
320
//					nfe.printStackTrace();
321
//				}
2352 chandransh 322
 
323
				if(jacketNumber <= 0){
324
					errorLabel.setText("Invalid Jacket number.");
325
					return;
326
				}
13146 manish.sha 327
 
20731 kshitij.so 328
				try{
329
					packageDimensionIndex = Integer.valueOf(packageDimensions.getValue(packageDimensions.getSelectedIndex()));
330
					System.out.println("Package Dimensions "+packageDimensionIndex);
331
				}
332
				catch(Exception e){
333
					e.printStackTrace();
334
				}
335
 
336
				if (packageDimensionIndex==0){
337
					errorLabel.setText("Invalid Package Dimensions");
338
					return;
339
				}
340
 
13146 manish.sha 341
				for(Long orderId : billTogetherOrdersMap.keySet()){
342
					boolean isSerialized = Boolean.parseBoolean(billTogetherOrdersMap.get(orderId).get("IsSerialized"));
343
					boolean isFreebie = Boolean.parseBoolean(billTogetherOrdersMap.get(orderId).get("IsFreebie"));
344
					for(TextBox tb : itemNumbersBoxMap.get(orderId)){
345
						itemNumber = tb.getText();
346
						if(itemNumber==null || itemNumber.trim().isEmpty()){
347
	                        errorLabel.setText("Item Number can't be left empty for Order Id:- "+ orderId);
5530 mandeep.dh 348
	                        return;
349
	                    }
7190 amar.kumar 350
					}
13146 manish.sha 351
 
352
					if(isSerialized){
353
						for(TextBox tb : serialNumbersBoxMap.get(orderId)){
354
							serialNumber = tb.getText();
355
							if(serialNumber==null || serialNumber.trim().isEmpty()){
356
		                        errorLabel.setText("Serial Number can't be left empty for Order Id:- "+ orderId);
357
		                        return;
358
		                    }
359
						}
5411 rajveer 360
					}
13146 manish.sha 361
 
362
					if(isFreebie){
363
						for(TextBox tb : freebieWarehouseIdBoxMap.get(orderId)){
364
							try {
365
								freebieWhId = Long.parseLong(tb.getText());
366
							} catch(NumberFormatException nfe){
367
								nfe.printStackTrace();
368
							}
369
 
370
							if(freebieWhId <= 0){
371
								errorLabel.setText("Freebie Warehouse Id can't be left empty for Order Id:- "+ orderId);
372
								return;
373
							}
374
						}
375
					}
5411 rajveer 376
				}
13227 manish.sha 377
 
20730 kshitij.so 378
//				String invoiceType = !changeInvoiceType.isEnabled() ? "Individual" : changeInvoiceType.getValue() ? "BulkInvoice" : "Individual";
379
				String invoiceType = "Individual";
13146 manish.sha 380
				setValuesInDesiredMaps(billTogetherOrdersMap);
20731 kshitij.so 381
				eventBus.fireEvent(new AddJacketNumberEvent(order, billNumber.getText(), jacketNumber, itemNumbersMap, serialNumbersMap, freebieWarehouseIdMap, user, billingType, invoiceType, packageDimensions.getItemText(packageDimensionIndex)));
2352 chandransh 382
				hide();
383
				clean();
1146 chandransh 384
			}
385
		});
13710 manish.sha 386
 
387
		cancelButton.addClickHandler(new ClickHandler() {
388
 
389
			@Override
390
			public void onClick(ClickEvent event) {
391
				hide();
392
				clean();
393
			}
394
		});
1146 chandransh 395
	}
396
 
5110 mandeep.dh 397
	public void clean() {
20730 kshitij.so 398
//		jacketNumberBox.setText("");
1146 chandransh 399
		errorLabel.setText("");
5110 mandeep.dh 400
		warehousePickSuggestion.setText("");
1146 chandransh 401
	}
2352 chandransh 402
 
13146 manish.sha 403
	public void setValuesInDesiredMaps(Map<Long, Map<String, String>> billOrdersMap){
404
		for(Long orderId : billOrdersMap.keySet()){
405
			List<TextBox> itemNumbersBoxList = itemNumbersBoxMap.get(orderId);
406
 
407
			Map<String, String> orderValuesMap = billOrdersMap.get(orderId);
408
			boolean hasSerialized = Boolean.parseBoolean(orderValuesMap.get("IsSerialized"));
409
			boolean hasFreebie = Boolean.parseBoolean(orderValuesMap.get("IsFreebie"));
410
 
411
			List<String> itemNumbers = new ArrayList<String>();
412
 
413
			for(TextBox tb : itemNumbersBoxList){
414
				itemNumbers.add(tb.getText().trim());
415
			}
416
 
417
			itemNumbersMap.put(orderId, itemNumbers);
418
 
419
			if(hasSerialized){
420
				List<TextBox> serialNumbersBoxList = serialNumbersBoxMap.get(orderId);
421
				List<String> serialNumbers = new ArrayList<String>();
422
				for(TextBox tb : serialNumbersBoxList){
423
					serialNumbers.add(tb.getText().trim());
424
				}
425
				serialNumbersMap.put(orderId, serialNumbers);
426
			} else{
427
				//itemNumbersMap, serialNumbersMap, freebieWarehouseIdMap
428
				serialNumbersMap.put(orderId, new ArrayList<String>());
429
			}
430
 
431
			if(hasFreebie){
432
				List<TextBox> freebieWarehouseIdBoxList = freebieWarehouseIdBoxMap.get(orderId);
433
				List<Long> freebieWhIds = new ArrayList<Long>();
434
				for(TextBox tb : freebieWarehouseIdBoxList){
435
					freebieWhIds.add(Long.parseLong(tb.getText().trim()));
436
				}
437
				freebieWarehouseIdMap.put(orderId, freebieWhIds);
438
			} else {
439
				freebieWarehouseIdMap.put(orderId, new ArrayList<Long>());
440
			}
441
		}
442
	}
443
 
4658 mandeep.dh 444
	private HorizontalPanel getHorizontalPanel(Label label, Widget textBox) {
2352 chandransh 445
		HorizontalPanel hpanel = new HorizontalPanel();
446
		hpanel.setSpacing(5);
447
		hpanel.add(label);
448
		hpanel.add(textBox);
449
		hpanel.setCellWidth(label, "120px");
450
		return hpanel;
451
	}
1146 chandransh 452
}