Subversion Repositories SmartDukaan

Rev

Rev 35922 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
32390 amit.gupta 1
$(function () {
28300 tejbeer 2
 
32390 amit.gupta 3
    $(document).on('click', ".submit-inactive", function () {
28300 tejbeer 4
 
32390 amit.gupta 5
        var id = $(this).data('id');
32551 amit.gupta 6
        if (confirm("Are you sure you want to In Active this Supplier")) {
28504 amit.gupta 7
 
32390 amit.gupta 8
            doPostAjaxRequestHandler(context + "/setStatusInActive?id=" + id,
9
                function (response) {
32551 amit.gupta 10
                    if (response === "true") {
28493 tejbeer 11
 
32390 amit.gupta 12
                        getAllSupplier("main-content");
13
                    }
14
                });
15
        }
28300 tejbeer 16
 
32390 amit.gupta 17
    });
28300 tejbeer 18
 
32390 amit.gupta 19
    $(document).on('click', ".myFile", function () {
28300 tejbeer 20
 
32390 amit.gupta 21
        console.log("hello");
22
        if (confirm('Confirm upload ?')) {
23
            var fileSelector = $(this)[0];
24
            if (fileSelector != undefined) {
25
                var url = `${context}/csvFileUploader`;
26
                console.log(url);
27
                var file = $(".fileTaxation")[0].files[0];
28
                let fileInput = $(this);
29
                console.log("file" + file);
30
                console.log("fileInput" + fileInput);
31
                doAjaxUploadRequestHandler(
32
                    url,
33
                    'POST',
34
                    file, function (response) {
28300 tejbeer 35
 
32390 amit.gupta 36
                        console.log("reponse" + response);
37
                    });
28300 tejbeer 38
 
32390 amit.gupta 39
            }
40
        } else {
41
            // Do nothing!
42
        }
43
    });
28300 tejbeer 44
 
45
 
32390 amit.gupta 46
    $(document).on('click', ".submit-active", function () {
28300 tejbeer 47
 
32390 amit.gupta 48
        var id = $(this).data('id');
32551 amit.gupta 49
        if (confirm("Are you sure you want to Active this Supplier")) {
32390 amit.gupta 50
            doPostAjaxRequestHandler(context + "/setStatusActive?id=" + id,
51
                function (response) {
32551 amit.gupta 52
                    if (response === "true") {
32390 amit.gupta 53
                        getAllInActiveSupplier("main-content");
54
                    }
55
                });
56
        }
28300 tejbeer 57
 
32390 amit.gupta 58
    });
34329 aman.kumar 59
    //
60
    $(document).on('click', ".supplier-edit", function () {
61
        let supplierId = $(this).data('id');
62
        let formData = objectifyForm($('form#new-supplier-create-form').serializeArray());
63
        console.log("Form Data: ", formData);
64
        doGetAjaxRequestHandler(`${context}/supplier/edit/${supplierId}`,
65
            function (response) {
66
                loadMainContent(response);
67
            });
32549 tejbeer 68
 
34329 aman.kumar 69
    });
32549 tejbeer 70
 
34329 aman.kumar 71
    function objectifyForm(formArray) {
72
        return formArray.reduce(function (result, item) {
73
            if (item.name) {
74
                result[item.name] = item.value;
75
            }
76
            return result;
77
        }, {});
78
    }
79
 
80
    $(document).on('click', ".submit-supplier-edit", function () {
81
        const supplierId = $(this).data('dd');
82
        const form = $('#new-supplier-create-form');
83
        const formData = new FormData(form[0]);
84
        const jsonData = {};
85
        formData.forEach((value, key) => {
86
            if (key === 'inputWarehouseLocation') {
87
                jsonData[key] = Array.from(form.find(`[name="${key}"]`)[0].selectedOptions)
88
                    .map(option => parseInt(option.value));
89
            } else {
90
                jsonData[key] = value;
91
            }
92
        });
35922 ranu 93
 
37823 amit 94
        // 0 = not internal; a ticked box must name the physical warehouse the supplier stands for.
95
        const internalWarehouseValue = form.find('#internalWarehouseId').val();
96
        if (form.find('#warehouseCheckbox').is(':checked')) {
97
            if (!internalWarehouseValue) {
98
                alert("Select the internal warehouse, or untick Internal Warehouse");
99
                return;
100
            }
35922 ranu 101
            jsonData['internalWarehouseId'] = parseInt(internalWarehouseValue);
102
        } else {
37823 amit 103
            jsonData['internalWarehouseId'] = 0;
35922 ranu 104
        }
105
 
34329 aman.kumar 106
        doPostAjaxRequestWithJsonHandler(
107
            `${context}/supplier/update/${supplierId}`,
108
            JSON.stringify(jsonData),
109
            function (response) {
110
                alert("Supplier updated successfully");
111
                getAllSupplier("main-content");
112
            }
113
        );
114
    });
115
 
32390 amit.gupta 116
    $(document).on('click', ".taxation", function () {
117
        loadTaxation("main-content");
118
    });
28300 tejbeer 119
 
120
 
32390 amit.gupta 121
    $(document).on('click', ".create-warehouse", function () {
122
        loadCreateWarehouse("main-content");
123
    });
28300 tejbeer 124
 
32390 amit.gupta 125
    $(document).on('click', ".warehouses", function () {
126
        loadWarehouses("main-content");
127
    });
28300 tejbeer 128
 
32390 amit.gupta 129
    $(document).on('click', ".instruction-items", function () {
130
        getAuthorisedWarehouses(function (warehouseId) {
131
            loadInstructionItems(warehouseId, "main-content");
132
        });
133
    });
134
    $(document).on('click', ".supplier-inactive", function () {
135
        getAllInActiveSupplier("main-content");
136
    });
28300 tejbeer 137
 
32390 amit.gupta 138
    $(document).on('click', ".supplier", function () {
139
        getAllSupplier("main-content");
140
    });
141
 
142
 
143
    $(document).on('click', ".add-remove-warehouse", function () {
144
        loadAddRemoveWarehouse("main-content");
145
    });
146
 
147
    $(document).on('click', "#warehouses-paginated .next", function () {
148
        loadPaginatedNextItems('/getPaginatedWarehouses', null, 'warehouses-paginated', 'warehouses-table', null);
149
        $(this).blur();
150
    });
151
 
152
    $(document).on('click', "#warehouses-paginated .previous", function () {
153
        loadPaginatedPreviousItems('/getPaginatedWarehouses', null, 'warehouses-paginated', 'warehouses-table', null);
154
        $(this).blur();
155
    });
156
 
157
    $(document).on('click', ".add-remove-warehouse-button", function () {
158
        var emailIdOrMobileNumber = $('#emailIdOrMobileNumber').val();
159
        var warehouseIds = $('#user-warehouses').val();
160
        addRemoveWarehouses("main-content", emailIdOrMobileNumber, warehouseIds);
161
    });
162
 
163
 
164
    $(document).on('click', "#instructionItemButton", function () {
165
        var warehouseId = $("#warehouseId").val();
166
        var userId = $("#instructionItemModel .userId").val();
167
        var itemIdQuantityMap = {};
168
        $("#instructionItemsContainer .instruction-item-item-id-quantity").each(function () {
169
            var $itemIdQuantity = $(this);
170
            var itemId = $itemIdQuantity.find('.itemId').val();
171
            console.log('itemId : ' + itemId);
172
            var quantity = $itemIdQuantity.find('.quantity').val();
32551 amit.gupta 173
            if (quantity === null || quantity <= 0) {
32390 amit.gupta 174
                quantity = 1;
175
            }
176
            console.log('quantity : ' + quantity);
177
            itemIdQuantityMap[itemId] = quantity;
178
        });
179
        submitInstructionItem(warehouseId, userId, itemIdQuantityMap);
180
        return false;
181
    });
182
 
23783 ashik.ali 183
});
184
 
28300 tejbeer 185
function configureUserWarehousesDropDown() {
32390 amit.gupta 186
    $(document).ready(function () {
187
        $('#user-warehouses').multiselect({
188
            includeSelectAllOption: true,
189
            maxHeight: 200,
190
            buttonWidth: '280px',
191
            numberDisplayed: 1,
192
            nonSelectedText: 'Warehouses',
193
            nSelectedText: ' - Warehouses Selected',
194
            allSelectedText: 'All Warehouses Selected',
195
            enableFiltering: true
196
        });
197
    });
23882 ashik.ali 198
}
199
 
28300 tejbeer 200
function instructionItemDialog() {
32390 amit.gupta 201
    var warehouseId = $('#admin-warehouses').val();
202
    var warehouseName = $('#admin-warehouses option:selected').text();
203
    var itemIdItemDescriptionDiv = '<div>';
204
    $("#warehouse-instruction-items option:selected").each(function () {
205
        console.log(this);
206
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<div class="row instruction-item-item-id-quantity">';
207
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<div class="col-lg-6">';
208
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<input class="itemId" hidden value="' + this.value + '"/>';
209
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<p class="form-control">' + this.text + '</p>';
210
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
211
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<div class="col-lg-2">';
212
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '<input type="text" class="form-control quantity" placeholder="Quantity" />';
213
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
214
        itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
215
    });
216
    itemIdItemDescriptionDiv = itemIdItemDescriptionDiv + '</div>';
23882 ashik.ali 217
 
32390 amit.gupta 218
    var userId = $('#fofo-users').val();
219
    var userEmailId = $('#fofo-users option:selected').text();
23882 ashik.ali 220
 
32390 amit.gupta 221
    console.log("warehouseId : " + warehouseId);
222
    console.log("warehouseName : " + warehouseName);
223
    console.log("userId : " + userId);
224
    console.log("userEmailId : " + userEmailId);
28300 tejbeer 225
 
32390 amit.gupta 226
    $("#instructionItemModel .warehouseId").val(warehouseId);
227
    $("#instructionItemModel .userId").val(userId);
28300 tejbeer 228
 
32390 amit.gupta 229
    //$(".modal-body .warehouseInformation>span").text(warehouseName);
230
    $(".modal-body .userInformation>span").text(userEmailId);
231
    $("#instructionItemsContainer").empty();
232
    $("#instructionItemsContainer").html(itemIdItemDescriptionDiv);
28300 tejbeer 233
 
23882 ashik.ali 234
}
235
 
28300 tejbeer 236
function submitInstructionItem(warehouseId, userId, itemIdQuantityMap) {
32390 amit.gupta 237
    var postData = JSON.stringify({
238
        "warehouseId": parseInt(warehouseId),
239
        "userId": userId,
240
        "itemIdQuantityMap": itemIdQuantityMap
241
    });
242
    doPostAjaxRequestWithJsonHandler(context + "/instructionItem", postData, function (response) {
243
        $('#main-content').html(response);
32549 tejbeer 244
        alert("Instruction created successfully");
32390 amit.gupta 245
    });
23882 ashik.ali 246
}
247
 
28300 tejbeer 248
function configureWarehouseInstructionItemsDropDown() {
32390 amit.gupta 249
    $(document).ready(function () {
250
        $('#warehouse-instruction-items').multiselect({
251
            multiple: true,
252
            includeSelectAllOption: true,
253
            maxHeight: 200,
254
            buttonWidth: '200px',
255
            numberDisplayed: 1,
256
            nonSelectedText: 'Items',
257
            nSelectedText: ' - Items Selected',
258
            allSelectedText: 'All Items Selected',
259
            enableFiltering: true
260
        });
261
    });
23882 ashik.ali 262
}
263
 
28300 tejbeer 264
function configureWarehousesDropDown() {
32390 amit.gupta 265
    $(document).ready(function () {
266
        $('#admin-warehouses').multiselect({
267
            multiple: false,
268
            includeSelectAllOption: true,
269
            maxHeight: 200,
270
            buttonWidth: '200px',
271
            numberDisplayed: 1,
272
            nonSelectedText: 'Warehouses',
273
            nSelectedText: ' - Warehouses Selected',
274
            allSelectedText: 'All Warehouses Selected',
275
            enableFiltering: true
276
        });
277
    });
23882 ashik.ali 278
}
279
 
28300 tejbeer 280
function loadCreateWarehouse(domId) {
32390 amit.gupta 281
    doGetAjaxRequestHandler(context + "/createWarehouse", function (response) {
32549 tejbeer 282
        loadMainContent(response);
32390 amit.gupta 283
    });
23783 ashik.ali 284
}
285
 
28493 tejbeer 286
function loadTaxation(domId) {
32390 amit.gupta 287
    doGetAjaxRequestHandler(context + "/createTaxation", function (response) {
32549 tejbeer 288
        loadMainContent(response);
32390 amit.gupta 289
    });
28493 tejbeer 290
}
291
 
28300 tejbeer 292
function loadWarehouses(domId) {
32390 amit.gupta 293
    doGetAjaxRequestHandler(context + "/getWarehouses", function (response) {
294
        $('#' + domId).html(response);
295
    });
23783 ashik.ali 296
}
297
 
28300 tejbeer 298
function loadWarehouseInstructionItemsByWarehouseId(domId, warehouseId) {
32390 amit.gupta 299
    doGetAjaxRequestHandler(context + "/getInstructionItemsByWarehouseId?warehouseId=" + warehouseId, function (response) {
300
        $('#' + domId).html(response);
301
        configureWarehouseInstructionItemsDropDown();
302
    });
23882 ashik.ali 303
}
304
 
28300 tejbeer 305
function loadInstructionItems(warehouseId, domId) {
32390 amit.gupta 306
    doGetAjaxRequestHandler(context + "/getInstructionItems/" + warehouseId, function (response) {
307
        $('#' + domId).html(response);
308
    });
23882 ashik.ali 309
}
310
 
28300 tejbeer 311
function loadAddRemoveWarehouse(domId) {
32390 amit.gupta 312
    doGetAjaxRequestHandler(context + "/getAddRemoveWarehouse", function (response) {
313
        $('#' + domId).html(response);
314
    });
23882 ashik.ali 315
}
316
 
28300 tejbeer 317
function getAllSupplier(domId) {
32390 amit.gupta 318
    doGetAjaxRequestHandler(context + "/getAllSupplier", function (response) {
319
        $('#' + domId).html(response);
320
    });
28300 tejbeer 321
}
322
 
323
function getAllInActiveSupplier(domId) {
32390 amit.gupta 324
    doGetAjaxRequestHandler(context + "/getAllInActiveSupplier", function (response) {
325
        $('#' + domId).html(response);
326
    });
28300 tejbeer 327
}
328
 
329
 
330
function addRemoveWarehouses(domId, emailIdOrMobileNumber, warehouseIds) {
32551 amit.gupta 331
    if (confirm("Are you sure you want to add or remove warehouses!")) {
32390 amit.gupta 332
        doPostAjaxRequestWithJsonHandler(context + "/addRemoveWarehouses?emailIdOrMobileNumber=" + emailIdOrMobileNumber, JSON.stringify(warehouseIds), function (response) {
333
            $('#' + domId).html(response);
334
            $('#emailIdOrMobileNumber').val(emailIdOrMobileNumber);
335
            getWarehousesByEmailIdOrMobileNumber();
336
        });
337
    }
23882 ashik.ali 338
}
339
 
28300 tejbeer 340
function getWarehousesByEmailIdOrMobileNumber() {
32390 amit.gupta 341
    var emailIdOrMobileNumber = $('#emailIdOrMobileNumber').val();
342
    console.log("emailIdOrMobileNumber = " + emailIdOrMobileNumber);
343
    if (emailIdOrMobileNumber != "") {
344
        loadWarehousesByEmailIdOrMobileNumber("warehouses-container", emailIdOrMobileNumber);
345
    }
23882 ashik.ali 346
}
347
 
28300 tejbeer 348
function loadWarehousesByEmailIdOrMobileNumber(domId, emailIdOrMobileNumber) {
32390 amit.gupta 349
    doGetAjaxRequestHandler(context + "/userWarehouses?emailIdOrMobileNumber=" + emailIdOrMobileNumber, function (response) {
350
        $('#' + domId).html(response);
351
        configureUserWarehousesDropDown();
352
    });
23882 ashik.ali 353
}
354
 
32390 amit.gupta 355
$(document).on('click', "#new-supplier", function () {
28493 tejbeer 356
 
32390 amit.gupta 357
    doGetAjaxRequestHandler(context + "/getCreateNewSupplier", function (response) {
358
        $("#main-content").html(response);
28493 tejbeer 359
 
32390 amit.gupta 360
    });
28493 tejbeer 361
 
362
 
32390 amit.gupta 363
});
28493 tejbeer 364
 
32390 amit.gupta 365
 
34329 aman.kumar 366
$(document).on('change', '#warehouseCheckbox', function () {
37823 amit 367
    let warehouseContainer = document.getElementById("internalWarehouseId");
32549 tejbeer 368
    warehouseContainer.disabled = !this.checked;
369
});
32390 amit.gupta 370
$(document).on('click', ".create-supplier-submit", function () {
371
    console.log("hello");
372
    var name = $("form#new-supplier-create-form input[name=inputName]").val();
373
    if (name === "") {
374
        alert("Name is required");
375
        return false;
376
    }
32565 tejbeer 377
    var phone = $("form#new-supplier-create-form input[name=CheinputPhone]").val();
32390 amit.gupta 378
    if (phone === "") {
379
        alert("phone is required");
380
        return false;
381
    }
382
    var gst = $("form#new-supplier-create-form input[name=inputGst]").val();
383
    if (gst === "") {
384
        alert("gst is required");
385
        return false;
386
    }
387
    var pan = $("form#new-supplier-create-form input[name=inputPan]").val();
388
    if (pan === "") {
389
        alert("Pan is required");
390
        return false;
391
    }
392
    var headName = $("form#new-supplier-create-form input[name=inputHeadName]").val();
393
    if (headName === "") {
394
        alert("Head Name is required");
395
        return false;
396
    }
32549 tejbeer 397
    var headDesign = $("form#new-supplier-create-form input[name=inputHeadDesign]").val();
32390 amit.gupta 398
    if (headDesign === "") {
399
        alert("Head Designation is required");
400
        return false;
401
    }
402
 
403
    var headEmail = $("form#new-supplier-create-form input[name=inputHeadEmail]").val();
404
    if (headEmail === "") {
405
        alert("Head Email is required");
406
        return false;
407
    }
408
    var contactPerson = $("form#new-supplier-create-form input[name=inputContactPerson]").val();
409
    if (contactPerson === "") {
410
        alert("Contact Person is required");
411
        return false;
412
    }
32549 tejbeer 413
    var contactPhone = $("form#new-supplier-create-form input[name=inputContactPhone]").val();
34329 aman.kumar 414
    if (contactPhone === "") {
415
        alert("Contact Phone is required");
416
        return false;
417
    }
32390 amit.gupta 418
    var registeredAddress = $("form#new-supplier-create-form input[name=inputRegisteredAddress]").val();
419
    if (registeredAddress === "") {
420
        alert("Registered Address is required");
421
        return false;
422
    }
423
    var communicationAddress = $("form#new-supplier-create-form input[name=inputCommunicationAddress]").val();
424
 
425
    if (communicationAddress === "") {
426
        alert("Communication Address  is required");
427
        return false;
428
    }
429
    var warehouseId = $("#warehouseLocation").val();
430
    if (warehouseId === "") {
431
        alert("Warehouse Location  is required");
432
        return false;
433
    }
434
 
435
    var state = $("#stateId").val();
436
    if (state === "") {
437
        alert("state  is required");
438
        return false;
439
    }
440
    var pOValidityLimit = $("form#new-supplier-create-form input[name=inputPOValidityLimit]").val();
441
    if (pOValidityLimit === "") {
442
        alert("pOValidityLimit  is required");
443
        return false;
444
    }
445
    var termConditions = $("form#new-supplier-create-form input[name=inputTermConditions]").val();
446
    if (termConditions === "") {
447
        alert("termConditions  is required");
448
        return false;
449
    }
37823 amit 450
    if ($("#warehouseCheckbox").is(':checked') && !$("#internalWarehouseId").val()) {
451
        alert("Select the internal warehouse, or untick Internal Warehouse");
34329 aman.kumar 452
        return false;
453
    }
32390 amit.gupta 454
 
32549 tejbeer 455
    var json = newSupplierCreateObjectJson();
32390 amit.gupta 456
 
457
 
32549 tejbeer 458
    if (confirm("Are you sure you want to create supplier")) {
32390 amit.gupta 459
        doAjaxRequestWithJsonHandler(context + "/submitNewSupplier", "POST", json, function (response) {
34329 aman.kumar 460
            if (response) {
32549 tejbeer 461
                    alert("Supplier created successfully. Its inactive as of now, pls check inactive section");
32390 amit.gupta 462
 
463
                    $("#main-content").html(response);
464
                }
465
            }
32549 tejbeer 466
        );
32390 amit.gupta 467
    }
468
});
469
 
32549 tejbeer 470
function newSupplierCreateObjectJson() {
32551 amit.gupta 471
    let newSupplierCreateObject = {};
28493 tejbeer 472
 
32549 tejbeer 473
 
32390 amit.gupta 474
    newSupplierCreateObject['name'] = $("form#new-supplier-create-form input[name=inputName]").val();
475
 
28493 tejbeer 476
    newSupplierCreateObject['phone'] = $("form#new-supplier-create-form input[name=inputPhone]").val();
477
    newSupplierCreateObject['gst'] = $("form#new-supplier-create-form input[name=inputGst]").val();
478
    newSupplierCreateObject['pan'] = $("form#new-supplier-create-form input[name=inputPan]").val();
479
    newSupplierCreateObject['fax'] = $("form#new-supplier-create-form input[name=inputFax]").val();
480
    newSupplierCreateObject['headName'] = $("form#new-supplier-create-form input[name=inputHeadName]").val();
481
    newSupplierCreateObject['headDesign'] = $("form#new-supplier-create-form input[name=inputHeadDesig]").val();
482
    newSupplierCreateObject['headEmail'] = $("form#new-supplier-create-form input[name=inputHeadEmail]").val();
483
    newSupplierCreateObject['contactPerson'] = $("form#new-supplier-create-form input[name=inputContactPerson]").val();
32549 tejbeer 484
    newSupplierCreateObject['contactPhone'] = $("form#new-supplier-create-form input[name=inputContactPhone]").val();
28493 tejbeer 485
    newSupplierCreateObject['contactEmail'] = $("form#new-supplier-create-form input[name=inputContactEmail]").val();
486
    newSupplierCreateObject['contactFax'] = $("form#new-supplier-create-form input[name=inputContactFax]").val();
487
    newSupplierCreateObject['registeredAddress'] = $("form#new-supplier-create-form input[name=inputRegisteredAddress]").val();
488
    newSupplierCreateObject['communicationAddress'] = $("form#new-supplier-create-form input[name=inputCommunicationAddress]").val();
489
    newSupplierCreateObject['termConditions'] = $("form#new-supplier-create-form input[name=inputTermConditions]").val();
490
    newSupplierCreateObject['warehouseId'] = $("#warehouseLocation").val();
37823 amit 491
    newSupplierCreateObject['internalWarehouseId'] = $("#warehouseCheckbox").is(':checked')
492
        ? parseInt($("#internalWarehouseId").val()) : 0;
28493 tejbeer 493
    newSupplierCreateObject['state'] = $("#stateId").val();
494
    newSupplierCreateObject['pOValidityLimit'] = $("form#new-supplier-create-form input[name=inputPOValidityLimit]").val();
495
 
496
 
32390 amit.gupta 497
    return JSON.stringify(newSupplierCreateObject);
32549 tejbeer 498
}