Subversion Repositories SmartDukaan

Rev

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