Subversion Repositories SmartDukaan

Rev

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