Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
28474 tejbeer 1
 
2
<script src="https://cdn.datatables.net/plug-ins/1.10.19/api/sum().js"></script>
3
 
4
 
5
 
28005 tejbeer 6
<div class="row">
7
 
8
 
28474 tejbeer 9
	#if(!$inStocksMap.isEmpty())
28523 tejbeer 10
	<div class="col-lg-12">
28005 tejbeer 11
		<table
12
			class="table table-striped table-advance table-hover partner-planning-details">
13
			<thead>
28474 tejbeer 14
 
28005 tejbeer 15
				<tr>
28474 tejbeer 16
					<th rowspan="3">Warehouse</th>
17
					<th rowspan="3">Category</th>
18
					<th rowspan="3">Partner Name</th> #foreach($catalog in
19
					$catalogItemMap.entrySet())
28477 tejbeer 20
					<th colspan="3">WOD : <span class="wod"></span>, TS:<span
28589 tejbeer 21
						class="ts"></span>, WOS: <span class="wos"></span>, TSale: <span class="sts"> </span>
28474 tejbeer 22
					</th> #end
23
					<th rowspan="3">PO</th>
24
					<th rowspan="3">last Po Entry</th>
25
 
26
				</tr>
27
 
28
				<tr>
29
					#foreach($catalog in $catalogItemMap.entrySet())
30
					<th colspan="3">$catalog.getValue().get(0).getBrand()
31
						$catalog.getValue().get(0).getModelName()
32
						$catalog.getValue().get(0).getModelNumber()</th> #end
33
 
34
 
35
				</tr>
36
				<tr>
37
					#foreach($catalog in $catalogItemMap.entrySet())
28005 tejbeer 38
					<th>Stock</th>
39
					<th>Sale</th>
28474 tejbeer 40
					<th>SD Stock</th> #end
28005 tejbeer 41
 
42
				</tr>
28474 tejbeer 43
 
44
 
45
 
28005 tejbeer 46
			</thead>
47
			<tbody>
28474 tejbeer 48
				#foreach($keyvalue in $customRetailers.entrySet())
28005 tejbeer 49
				<tr>
28020 tejbeer 50
					<td>$warehouseMap.get($keyvalue.getValue().getWarehouseId())</td>
28053 tejbeer 51
					<td>$fofoIdPartnerTypeMap.get($keyvalue.getKey())</td>
52
 
28005 tejbeer 53
					<td>$customRetailers.get($keyvalue.getKey()).getBusinessName()</td>
28474 tejbeer 54
 
55
					#foreach($catalog in $catalogItemMap.entrySet())
56
					#if($inStocksMap.get($keyvalue.getKey()).get($catalog.getKey()))
57
					<td class="instockItem" data-fofoid="$keyvalue.getKey()"
28486 tejbeer 58
						data-catalogid="$catalog.getKey()" data-toggle="modal"
59
						data-target="#inStockQtyModel">$inStocksMap.get($keyvalue.getKey()).get($catalog.getKey())</td>
28474 tejbeer 60
					#else
61
					<td>0</td> #end
62
					#if($fofoSalesMap.get($keyvalue.getKey()).get($catalog.getKey()))
63
 
28032 tejbeer 64
					<td class="inSaleItem"
65
						data-fofoid="$keyvalue.getValue().getFofoId()" data-toggle="modal"
28474 tejbeer 66
						data-target="#inSaleItemModel">$fofoSalesMap.get($keyvalue.getKey()).get($catalog.getKey())</td>
28032 tejbeer 67
					#else
28005 tejbeer 68
					<td>0</td> #end
28474 tejbeer 69
					#if($warehouseStockMap.get($keyvalue.getValue().getWarehouseId()).get($catalog.getKey()))
70
 
28053 tejbeer 71
					<td class="warehouseStockItem"
72
						data-warehouseid="$keyvalue.getValue().getWarehouseId()"
73
						data-catalogid="$keyvalue.getValue().getWarehouseId()"
28474 tejbeer 74
						data-toggle="modal" data-target="#warehouseStockItemModel">$warehouseStockMap.get($keyvalue.getValue().getWarehouseId()).get($catalog.getKey())</td>
28053 tejbeer 75
					#else
28474 tejbeer 76
					<td>0</td> #end #end
28085 tejbeer 77
					<td><a class="selctItemQty" data-toggle="modal"
28474 tejbeer 78
						data-fofoid="$keyvalue.getKey()" data-target="#selectModelItems">
79
							Add to po </a></td> #if($suggestedPoEntry.get($keyvalue))
28053 tejbeer 80
 
28474 tejbeer 81
					<td><a class="podetails" data-fofoid="$keyvalue.getKey()"
82
						data-datetime="$suggestedPoEntry.get($keyvalue.getKey())"
83
						data-toggle="modal" data-target="#ItemsPo">$suggestedPoEntry.get($keyvalue.getKey()).format($dateTimeFormatter)</a></td>
28085 tejbeer 84
					#else
85
					<td></td> #end
28053 tejbeer 86
 
28005 tejbeer 87
				</tr>
88
				#end
89
 
90
			</tbody>
91
		</table>
92
	</div>
93
	#else
94
 
95
	<div class="col-lg-6">
96
		<table
97
			class="table table-striped table-advance table-hover partner-planning-details">
98
			<thead>
99
				<tr>
28020 tejbeer 100
					<th>Warehouse</th>
28053 tejbeer 101
					<th>Category</th>
28005 tejbeer 102
					<th>Partner Name</th>
103
					<th>Item</th>
104
					<th>Stock</th>
105
					<th>Sale</th>
28053 tejbeer 106
					<th>Warehouse Stock</th>
28085 tejbeer 107
					<th>PO</th>
108
					<th>last Po Entry</th>
28005 tejbeer 109
 
28085 tejbeer 110
 
111
 
28005 tejbeer 112
				</tr>
113
			</thead>
114
			<tbody>
115
				#foreach($keyvalue in $inStockItemMap.entrySet())
116
				<tr>
28020 tejbeer 117
					<td>$warehouseMap.get($keyvalue.getValue().getWarehouseId())</td>
28053 tejbeer 118
					<td>$fofoIdPartnerTypeMap.get($keyvalue.getKey().getFofoId())</td>
28020 tejbeer 119
 
28005 tejbeer 120
					<td>$customRetailers.get($keyvalue.getKey().getFofoId()).getBusinessName()</td>
121
					<td>$keyvalue.getValue().getBrand()
122
						$keyvalue.getValue().getModelName()
123
						$keyvalue.getValue().getModelNumber()</td>
124
					<td>$keyvalue.getValue().getQty()</td>
125
					#if($fofoSaleItem.get($keyvalue.getKey()))
126
					<td>$fofoSaleItem.get($keyvalue.getKey()).getQty()</td> #else
127
					<td>0</td> #end
28053 tejbeer 128
 
129
 
130
					<td>$keyvalue.getValue().getWarehouseQty()</td>
28085 tejbeer 131
					<td><a class="selctItemQty" data-toggle="modal"
132
						data-fofoid="$keyvalue.getValue().getFofoId()"
133
						data-target="#selectModelItems"> Add to po </a></td>
134
					#if($suggestedPoEntry.get($keyvalue.getKey().getFofoId()))
28053 tejbeer 135
 
28085 tejbeer 136
					<td><a class="podetails"
137
						data-fofoid="$keyvalue.getKey().getFofoId()" data-toggle="modal"
138
						data-target="#ItemsPo"
139
						data-datetime="$suggestedPoEntry.get($keyvalue.getValue().getFofoId())">
140
							$suggestedPoEntry.get($keyvalue.getKey().getFofoId()).format($dateTimeFormatter)
141
					</a></td> #else
142
					<td></td> #end
143
 
28005 tejbeer 144
				</tr>
145
				#end
146
 
147
			</tbody>
148
		</table>
149
	</div>
150
 
151
	#end
152
</div>
153
 
154
 
28032 tejbeer 155
<div id="inStockItemModel" class="modal" role="dialog">
156
	<div class="modal-dialog">
157
		<div class="modal-content"></div>
158
	</div>
159
</div>
160
 
28486 tejbeer 161
<div id="inStockQtyModel" class="modal" role="dialog">
162
	<div class="modal-dialog">
163
		<div class="modal-content"></div>
164
	</div>
165
</div>
28032 tejbeer 166
 
167
<div id="inSaleItemModel" class="modal" role="dialog">
168
	<div class="modal-dialog">
169
		<div class="modal-content"></div>
170
	</div>
171
</div>
28053 tejbeer 172
 
173
<div id="warehouseStockItemModel" class="modal" role="dialog">
174
	<div class="modal-dialog">
175
		<div class="modal-content"></div>
176
	</div>
177
</div>
28085 tejbeer 178
 
179
 
180
<div id="selectModelItems" class="modal" role="dialog">
181
	<div class="modal-dialog">
182
		<div class="modal-content"></div>
183
	</div>
184
</div>
185
 
186
<div id="ItemsPo" class="modal" role="dialog">
187
	<div class="modal-dialog">
188
		<div class="modal-content"></div>
189
	</div>
190
</div>
28005 tejbeer 191
<script type="text/javascript">
28474 tejbeer 192
	var table
28020 tejbeer 193
 
28474 tejbeer 194
	$(document).ready(function() {
28020 tejbeer 195
 
28474 tejbeer 196
		table = $('.partner-planning-details').DataTable({
28020 tejbeer 197
 
28474 tejbeer 198
			"lengthMenu" : [ 10, 25, 50, 75, 100, 250 ],
28523 tejbeer 199
			"scrollX" : true,
28474 tejbeer 200
			"pageLength" : 250,
201
			"orderCellsTop" : true,
28523 tejbeer 202
			"fixedHeader" : true,
203
			"fixedColumns" : {
204
				leftColumns : 3
205
 
206
			}
207
 
28474 tejbeer 208
		});
28032 tejbeer 209
 
28474 tejbeer 210
		datatableSum()
211
 
212
		table.on('search.dt', function() {
213
			console.log('Currently applied global search: ' + table.search());
214
 
215
			datatableSum();
216
 
217
		});
218
	});
219
 
220
	function datatableSum() {
221
		let wod = [];
222
		let wos = [];
28589 tejbeer 223
		let sos = [];
224
		let sts = [];
28474 tejbeer 225
		table.rows({
226
			"search" : "applied"
227
		}).every(function() {
228
			var data = this.data();
229
			for (let i = 3; i < data.length - 2; i = i + 3) {
230
				j = i / 3
231
				if (wod[j] == undefined) {
232
					wod[j] = 0;
233
				}
234
				if (parseInt(data[i]) > 0) {
235
					wod[j]++;
236
				}
28477 tejbeer 237
 
238
				if (sos[j] == undefined) {
239
					sos[j] = parseInt(data[i]);
240
				} else {
241
					sos[j] += parseInt(data[i]);
242
				}
28474 tejbeer 243
			}
244
 
28476 tejbeer 245
			for (let h = 4; h < data.length - 2; h = h + 3) {
246
				g = Math.floor(h / 3)
28486 tejbeer 247
 
28474 tejbeer 248
				if (wos[g] == undefined) {
28486 tejbeer 249
					wos[g] = 0;
28474 tejbeer 250
				}
28486 tejbeer 251
				if (parseInt(data[h]) > 0) {
252
					wos[g]++;
253
				}
28589 tejbeer 254
 
255
				if (sts[g] == undefined) {
256
					sts[g] = parseInt(data[h]);
257
				} else {
258
					sts[g] += parseInt(data[h]);
259
				}
28486 tejbeer 260
 
28474 tejbeer 261
			}
262
 
263
		});
264
 
265
		console.log(wod);
266
		console.log(wos);
28477 tejbeer 267
		console.log(sos);
28589 tejbeer 268
		console.log(sts);
28474 tejbeer 269
		for (let m = 3; m < wod.length + 2; m++) {
270
			let indexNum = m + 1;
271
			var stockHeader = $(`.partner-planning-details thead tr th:nth-child(${indexNum})`)
272
			stockHeader.find('.wod').html(wod[m - 2])
28477 tejbeer 273
			stockHeader.find('.ts').html(sos[m - 2])
28474 tejbeer 274
		}
275
 
276
		for (let l = 3; l < wos.length + 2; l++) {
277
			let indexNum = l + 1;
278
			console.log(indexNum)
279
			var stockHeader = $(`.partner-planning-details thead tr th:nth-child(${indexNum})`)
280
			stockHeader.find('.wos').html(wos[l - 2])
28589 tejbeer 281
			stockHeader.find('.sts').html(sts[l - 2])
28474 tejbeer 282
		}
283
 
284
	}
285
 
28486 tejbeer 286
	/*$('.partner-planning-details').on(
28032 tejbeer 287
			'click',
288
			'.instockItem',
289
			function() {
290
				var fofoId = $(this).data('fofoid');
291
				var catalogIds = $('.criteria-item-catalogids').val();
292
				console.log(catalogIds);
293
 
294
				doGetAjaxRequestHandler(context
295
						+ "/getInStockItembyFofoId?fofoId=" + fofoId
296
						+ "&catalogItemIds=" + catalogIds, function(response) {
297
					console.log(response)
298
					$('#inStockItemModel .modal-content').html(response);
299
 
300
				});
28486 tejbeer 301
			});*/
302
 
303
	$('.partner-planning-details').on(
304
			'click',
305
			'.instockItem',
306
			function() {
307
				var fofoId = $(this).data('fofoid');
308
				var catalogId = $(this).data('catalogid');
309
				console.log(catalogId);
310
 
311
				doGetAjaxRequestHandler(context + "/getInStockItemQty?fofoId="
312
						+ fofoId + "&catalogItemId=" + catalogId, function(
313
						response) {
314
					console.log(response)
315
					$('#inStockQtyModel .modal-content').html(response);
316
 
317
				});
28032 tejbeer 318
			});
319
 
320
	$('.partner-planning-details').on(
321
			'click',
322
			'.inSaleItem',
323
			function() {
28057 tejbeer 324
				var fofoId = $(this).data('fofoid');
28032 tejbeer 325
				var catalogIds = $('.criteria-item-catalogids').val();
326
				console.log(catalogIds);
327
 
328
				doGetAjaxRequestHandler(context
329
						+ "/getSaleItembyCatalogFofoId?fofoId=" + fofoId
330
						+ "&catalogItemIds=" + catalogIds + "&date="
331
						+ startDate, function(response) {
332
					console.log(response)
333
					$('#inSaleItemModel .modal-content').html(response);
334
 
335
				});
336
			});
28053 tejbeer 337
 
338
	$('.partner-planning-details').on(
339
			'click',
340
			'.warehouseStockItem',
341
			function() {
342
				var warehouseId = $(this).data('warehouseid');
343
				var catalogIds = $('.criteria-item-catalogids').val();
344
				console.log(catalogIds);
345
 
346
				doGetAjaxRequestHandler(context
347
						+ "/getWarehouseStockItem?warehouseId=" + warehouseId
348
						+ "&catalogItemIds=" + catalogIds,
349
						function(response) {
350
							console.log(response)
351
							$('#warehouseStockItemModel .modal-content').html(
352
									response);
353
 
354
						});
355
			});
28085 tejbeer 356
 
357
	$('.partner-planning-details').on(
358
			'click',
359
			'.selctItemQty',
360
			function() {
361
				var catalogIds = $('.criteria-item-catalogids').val();
362
				console.log(catalogIds);
363
				var fofoId = $(this).data('fofoid');
364
 
365
				doGetAjaxRequestHandler(context
366
						+ "/selectItemColorByCatalog?catalogIds=" + catalogIds
367
 
368
						+ "&fofoId=" + fofoId, function(response) {
369
					console.log(response)
370
					$('#selectModelItems .modal-content').html(response);
371
 
372
				});
373
			});
374
 
375
	$(document).on(
376
			"click",
377
			".submit-item-po",
378
			function(e) {
379
				var seletedIds;
380
				var jsonObject = {};
381
				var seletedIdsJson = [];
382
				var fofoId = $(this).data('fofoid');
383
 
384
				$('#select-item').find('tr').each(function() {
385
					var row = $(this);
386
 
387
					console.log(row);
388
					if (row.find('input[type="checkbox"]').is(':checked')) {
389
						var currentRow = $(this).closest("tr");
390
 
391
						var itemId = currentRow.find("td:eq(1)").html();
392
						var name = currentRow.find("td:eq(2)").html();
393
						var quantity = currentRow.find("td:eq(3) input").val();
394
						console.log(quantity)
395
						if (quantity == "") {
396
							alert("Select the Quantity");
397
							return false;
398
 
399
						}
400
 
401
						seletedIds = {
402
							"itemId" : itemId,
403
							"qty" : quantity
404
						}
405
						seletedIdsJson.push(seletedIds)
406
 
407
					}
408
 
409
				});
410
 
411
				console.log(fofoId)
412
				if (fofoId == null) {
413
					alert("fofoId is required");
414
					return false;
415
				}
416
				if (seletedIdsJson.length === 0) {
417
					alert("Atleast one Item selected");
418
					return false;
419
				}
420
				console.log(seletedIdsJson);
421
 
422
				jsonObject['poIds'] = seletedIdsJson;
423
				jsonObject['fofoId'] = fofoId;
424
				console.log(jsonObject)
425
				if (confirm("Are you sure you want to create po") == true) {
426
 
427
					doPostAjaxRequestWithJsonHandler(context + "/createPo",
428
							JSON.stringify(jsonObject), function(response) {
429
								if (response == 'true') {
430
									alert("successfully create");
431
 
432
									$("#selectModelItems").modal("hide");
433
									$("button.search-partner-stock").click();
434
								}
435
							});
436
				}
437
 
438
			});
439
 
440
	$('.partner-planning-details').on(
441
			'click',
442
			'.podetails',
443
			function() {
444
				var fofoId = $(this).data('fofoid');
445
				var datetime = $(this).data('datetime');
446
 
447
				doGetAjaxRequestHandler(context
448
						+ "/getSuggestedPoDetail?fofoId=" + fofoId
449
						+ "&datetime=" + datetime, function(response) {
450
					console.log(response)
451
					$('#ItemsPo .modal-content').html(response);
452
 
453
				});
454
			});
28005 tejbeer 455
</script>