Subversion Repositories SmartDukaan

Rev

Rev 13710 | Rev 20731 | 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);
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();
176
						serialNumber = new TextBox();
177
						freebieWarehouseId = new TextBox();
178
						if(!hasFreebie){
179
							freebieWarehouseId.setEnabled(false);
180
						}
181
						freebieWarehouseId.addKeyPressHandler(new KeyPressHandler() {
182
							@Override
183
							public void onKeyPress(KeyPressEvent event) {
184
								// TODO Auto-generated method stub
185
								if (!Character.isDigit(event.getCharCode())) {
186
							          ((TextBox) event.getSource()).cancelKey();
187
							    }
188
							}
189
						});
13231 manish.sha 190
 
13146 manish.sha 191
						hpanel.add(itemNumber);
13234 manish.sha 192
						hpanel.setCellWidth(itemNumber, "200");
13146 manish.sha 193
						hpanel.add(serialNumber);
13234 manish.sha 194
						hpanel.setCellWidth(serialNumber, "200");
13146 manish.sha 195
						hpanel.add(freebieWarehouseId);
13234 manish.sha 196
						hpanel.setCellWidth(freebieWarehouseId, "200");
13146 manish.sha 197
						vpanel.add(hpanel);
198
						itemNumbersBoxList.add(itemNumber);
199
						serialNumbersBoxList.add(serialNumber);
200
						freebieWarehouseIdBoxList.add(freebieWarehouseId);
201
					}
202
				}
203
				else{
204
					hpanel = new HorizontalPanel();
205
					hpanel.setSpacing(5);
13231 manish.sha 206
					tmpLabel = new Label(orderId+"");
207
					hpanel.add(tmpLabel);
13233 manish.sha 208
					hpanel.setCellWidth(tmpLabel, "50");
13231 manish.sha 209
					tmpLabel = new Label(billTogetherOrdersMap.get(orderId).get("ProductName"));
210
					hpanel.add(tmpLabel);
13234 manish.sha 211
					hpanel.setCellWidth(tmpLabel, "250");
13231 manish.sha 212
					tmpLabel = new Label(quantity+"");
213
					hpanel.add(tmpLabel);
214
					hpanel.setCellWidth(tmpLabel, "50");
13146 manish.sha 215
					itemNumber = new TextBox();
216
					serialNumber = new TextBox();
217
					freebieWarehouseId = new TextBox();
218
					serialNumber.setEnabled(false);
219
					if(!hasFreebie){
220
						freebieWarehouseId.setEnabled(false);
221
					}
222
					freebieWarehouseId.addKeyPressHandler(new KeyPressHandler() {
223
						@Override
224
						public void onKeyPress(KeyPressEvent event) {
225
							// TODO Auto-generated method stub
226
							if (!Character.isDigit(event.getCharCode())) {
227
						          ((TextBox) event.getSource()).cancelKey();
228
						    }
229
						}
230
					});
231
					hpanel.add(itemNumber);
13234 manish.sha 232
					hpanel.setCellWidth(itemNumber, "200");
13146 manish.sha 233
					hpanel.add(serialNumber);
13234 manish.sha 234
					hpanel.setCellWidth(serialNumber, "200");
13146 manish.sha 235
					hpanel.add(freebieWarehouseId);
13234 manish.sha 236
					hpanel.setCellWidth(freebieWarehouseId, "200");
13146 manish.sha 237
					vpanel.add(hpanel);
238
					itemNumbersBoxList.add(itemNumber);
239
					serialNumbersBoxList.add(serialNumber);
240
					freebieWarehouseIdBoxList.add(freebieWarehouseId);
241
				}
242
			}
243
			else {
244
 
245
				hpanel = new HorizontalPanel();
246
				hpanel.setSpacing(5);
13231 manish.sha 247
				tmpLabel = new Label(orderId+"");
248
				hpanel.add(tmpLabel);
13233 manish.sha 249
				hpanel.setCellWidth(tmpLabel, "50");
13231 manish.sha 250
				tmpLabel = new Label(billTogetherOrdersMap.get(orderId).get("ProductName"));
251
				hpanel.add(tmpLabel);
13234 manish.sha 252
				hpanel.setCellWidth(tmpLabel, "250");
13231 manish.sha 253
				tmpLabel = new Label(quantity+"");
254
				hpanel.add(tmpLabel);
255
				hpanel.setCellWidth(tmpLabel, "50");
13146 manish.sha 256
				itemNumber = new TextBox();
257
				serialNumber = new TextBox();
258
				freebieWarehouseId = new TextBox();
259
				if(!hasSerialized){
260
					serialNumber.setEnabled(false);
261
				}
262
				if(!hasFreebie){
263
					freebieWarehouseId.setEnabled(false);
264
				}
265
				freebieWarehouseId.addKeyPressHandler(new KeyPressHandler() {
266
					@Override
267
					public void onKeyPress(KeyPressEvent event) {
268
						// TODO Auto-generated method stub
269
						if (!Character.isDigit(event.getCharCode())) {
270
					          ((TextBox) event.getSource()).cancelKey();
271
					    }
272
					}
273
				});
274
				hpanel.add(itemNumber);
13234 manish.sha 275
				hpanel.setCellWidth(itemNumber, "200");
13146 manish.sha 276
				hpanel.add(serialNumber);
13234 manish.sha 277
				hpanel.setCellWidth(serialNumber, "200");
13146 manish.sha 278
				hpanel.add(freebieWarehouseId);
13234 manish.sha 279
				hpanel.setCellWidth(freebieWarehouseId, "200");
13146 manish.sha 280
				vpanel.add(hpanel);
281
				itemNumbersBoxList.add(itemNumber);
282
				serialNumbersBoxList.add(serialNumber);
283
				freebieWarehouseIdBoxList.add(freebieWarehouseId);
284
			}
285
 
286
			//itemNumbersBoxMap, serialNumbersBoxMap, freebieWarehouseIdBoxMap
287
			itemNumbersBoxMap.put(orderId, itemNumbersBoxList);
288
			serialNumbersBoxMap.put(orderId, serialNumbersBoxList);
289
			freebieWarehouseIdBoxMap.put(orderId, freebieWarehouseIdBoxList);
290
		}
13710 manish.sha 291
		hpanel = new HorizontalPanel();
292
		hpanel.setSpacing(5);
293
		hpanel.add(submitbutton);
294
		hpanel.add(cancelButton);
295
		vpanel.add(hpanel);
296
		vpanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
13146 manish.sha 297
 
1146 chandransh 298
		setWidget(vpanel);
13710 manish.sha 299
		setAutoHideEnabled(false);
1146 chandransh 300
		setGlassEnabled(true);
13146 manish.sha 301
		setText("Enter all the details below:");
1146 chandransh 302
		setModal(true);
13146 manish.sha 303
		setWidth("1000px");
304
 
305
 
1146 chandransh 306
		submitbutton.addClickHandler(new ClickHandler() {
307
			@Override
308
			public void onClick(ClickEvent event) {
20730 kshitij.so 309
				long jacketNumber = 1;
13146 manish.sha 310
				String itemNumber = "";
5442 rajveer 311
				String serialNumber = "";
13146 manish.sha 312
				long freebieWhId = -1;
20730 kshitij.so 313
//				try {
314
//					jacketNumber = Long.parseLong(jacketNumberBox.getText());
315
//				} catch(NumberFormatException nfe){
316
//					nfe.printStackTrace();
317
//				}
2352 chandransh 318
 
319
				if(jacketNumber <= 0){
320
					errorLabel.setText("Invalid Jacket number.");
321
					return;
322
				}
13146 manish.sha 323
 
324
				for(Long orderId : billTogetherOrdersMap.keySet()){
325
					boolean isSerialized = Boolean.parseBoolean(billTogetherOrdersMap.get(orderId).get("IsSerialized"));
326
					boolean isFreebie = Boolean.parseBoolean(billTogetherOrdersMap.get(orderId).get("IsFreebie"));
327
					for(TextBox tb : itemNumbersBoxMap.get(orderId)){
328
						itemNumber = tb.getText();
329
						if(itemNumber==null || itemNumber.trim().isEmpty()){
330
	                        errorLabel.setText("Item Number can't be left empty for Order Id:- "+ orderId);
5530 mandeep.dh 331
	                        return;
332
	                    }
7190 amar.kumar 333
					}
13146 manish.sha 334
 
335
					if(isSerialized){
336
						for(TextBox tb : serialNumbersBoxMap.get(orderId)){
337
							serialNumber = tb.getText();
338
							if(serialNumber==null || serialNumber.trim().isEmpty()){
339
		                        errorLabel.setText("Serial Number can't be left empty for Order Id:- "+ orderId);
340
		                        return;
341
		                    }
342
						}
5411 rajveer 343
					}
13146 manish.sha 344
 
345
					if(isFreebie){
346
						for(TextBox tb : freebieWarehouseIdBoxMap.get(orderId)){
347
							try {
348
								freebieWhId = Long.parseLong(tb.getText());
349
							} catch(NumberFormatException nfe){
350
								nfe.printStackTrace();
351
							}
352
 
353
							if(freebieWhId <= 0){
354
								errorLabel.setText("Freebie Warehouse Id can't be left empty for Order Id:- "+ orderId);
355
								return;
356
							}
357
						}
358
					}
5411 rajveer 359
				}
13227 manish.sha 360
 
20730 kshitij.so 361
//				String invoiceType = !changeInvoiceType.isEnabled() ? "Individual" : changeInvoiceType.getValue() ? "BulkInvoice" : "Individual";
362
				String invoiceType = "Individual";
13146 manish.sha 363
				setValuesInDesiredMaps(billTogetherOrdersMap);
13276 manish.sha 364
				eventBus.fireEvent(new AddJacketNumberEvent(order, billNumber.getText(), jacketNumber, itemNumbersMap, serialNumbersMap, freebieWarehouseIdMap, user, billingType, invoiceType));
2352 chandransh 365
				hide();
366
				clean();
1146 chandransh 367
			}
368
		});
13710 manish.sha 369
 
370
		cancelButton.addClickHandler(new ClickHandler() {
371
 
372
			@Override
373
			public void onClick(ClickEvent event) {
374
				hide();
375
				clean();
376
			}
377
		});
1146 chandransh 378
	}
379
 
5110 mandeep.dh 380
	public void clean() {
20730 kshitij.so 381
//		jacketNumberBox.setText("");
1146 chandransh 382
		errorLabel.setText("");
5110 mandeep.dh 383
		warehousePickSuggestion.setText("");
1146 chandransh 384
	}
2352 chandransh 385
 
13146 manish.sha 386
	public void setValuesInDesiredMaps(Map<Long, Map<String, String>> billOrdersMap){
387
		for(Long orderId : billOrdersMap.keySet()){
388
			List<TextBox> itemNumbersBoxList = itemNumbersBoxMap.get(orderId);
389
 
390
			Map<String, String> orderValuesMap = billOrdersMap.get(orderId);
391
			boolean hasSerialized = Boolean.parseBoolean(orderValuesMap.get("IsSerialized"));
392
			boolean hasFreebie = Boolean.parseBoolean(orderValuesMap.get("IsFreebie"));
393
 
394
			List<String> itemNumbers = new ArrayList<String>();
395
 
396
			for(TextBox tb : itemNumbersBoxList){
397
				itemNumbers.add(tb.getText().trim());
398
			}
399
 
400
			itemNumbersMap.put(orderId, itemNumbers);
401
 
402
			if(hasSerialized){
403
				List<TextBox> serialNumbersBoxList = serialNumbersBoxMap.get(orderId);
404
				List<String> serialNumbers = new ArrayList<String>();
405
				for(TextBox tb : serialNumbersBoxList){
406
					serialNumbers.add(tb.getText().trim());
407
				}
408
				serialNumbersMap.put(orderId, serialNumbers);
409
			} else{
410
				//itemNumbersMap, serialNumbersMap, freebieWarehouseIdMap
411
				serialNumbersMap.put(orderId, new ArrayList<String>());
412
			}
413
 
414
			if(hasFreebie){
415
				List<TextBox> freebieWarehouseIdBoxList = freebieWarehouseIdBoxMap.get(orderId);
416
				List<Long> freebieWhIds = new ArrayList<Long>();
417
				for(TextBox tb : freebieWarehouseIdBoxList){
418
					freebieWhIds.add(Long.parseLong(tb.getText().trim()));
419
				}
420
				freebieWarehouseIdMap.put(orderId, freebieWhIds);
421
			} else {
422
				freebieWarehouseIdMap.put(orderId, new ArrayList<Long>());
423
			}
424
		}
425
	}
426
 
4658 mandeep.dh 427
	private HorizontalPanel getHorizontalPanel(Label label, Widget textBox) {
2352 chandransh 428
		HorizontalPanel hpanel = new HorizontalPanel();
429
		hpanel.setSpacing(5);
430
		hpanel.add(label);
431
		hpanel.add(textBox);
432
		hpanel.setCellWidth(label, "120px");
433
		return hpanel;
434
	}
1146 chandransh 435
}