Subversion Repositories SmartDukaan

Rev

Rev 34805 | Rev 35458 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34805 Rev 35232
Line 257... Line 257...
257
 
257
 
258
function validateOrderDetails() {
258
function validateOrderDetails() {
259
    var sNumbers = [];
259
    var sNumbers = [];
260
    var error = false;
260
    var error = false;
261
    $("form#cd input.serialNumber").each(function () {
261
    $("form#cd input.serialNumber").each(function () {
262
            var input = $(this).val().trim();
262
        var input = $(this).val().trim();
263
            var itemType = $(this).attr("itemType");
263
        var itemType = $(this).attr("itemType");
264
            $(this).removeClass("border-highlight");
264
        $(this).removeClass("border-highlight");
-
 
265
 
265
            if (itemType !== 'SERIALIZED') {
266
        if (itemType !== 'SERIALIZED') {
266
                return;
267
            return;
267
            }
268
        }
-
 
269
 
-
 
270
        // Split multiple serial numbers by comma
-
 
271
        var serials = input.split(',').map(s => s.trim()).filter(s => s !== "");
-
 
272
 
-
 
273
        // Check for empty or duplicate
-
 
274
        for (let sn of serials) {
268
            if (sNumbers.indexOf(input) !== -1 || (itemType === 'SERIALIZED' && !input)) {
275
            if (!sn || sNumbers.indexOf(sn) !== -1) {
269
                error = true;
276
                error = true;
270
                $(this).addClass("border-highlight");
277
                $(this).addClass("border-highlight");
271
            }
278
            }
272
            sNumbers.push(input);
279
            sNumbers.push(sn);
273
        }
280
        }
274
    )
-
 
275
    ;
281
    });
276
 
282
 
277
    $("form#cd input.unitPrice").each(function () {
283
    $("form#cd input.unitPrice").each(function () {
278
        var input = $(this).val().trim();
284
        var input = $(this).val().trim();
279
        $(this).removeClass("border-highlight");
285
        $(this).removeClass("border-highlight");
280
        if (!input || parseInt(input) <= 0 || isNaN(input)) {
286
        if (!input || parseInt(input) <= 0 || isNaN(input)) {
Line 404... Line 410...
404
                tmpObj = filteredList[0];
410
                tmpObj = filteredList[0];
405
            }
411
            }
406
 
412
 
407
            tmpObj.quantity += qty;
413
            tmpObj.quantity += qty;
408
 
414
 
-
 
415
            // Handle serial numbers and insurance per row
409
            var $serialNumberElement = $(el).find('.serialNumber');
416
            var $serialNumberElement = $el.find('.serialNumber');
-
 
417
            var serialNumbers = $serialNumberElement.val()
-
 
418
                ? $serialNumberElement.val().split(',').map(s => s.trim())
-
 
419
                : [];
-
 
420
            tmpObj.customSerialNumbers = serialNumbers;
-
 
421
 
-
 
422
// Get insurance details
410
            var insuranceEle = $(el).find('.insuranceamount');
423
            var insuranceEle = $el.find('.insuranceamount');
-
 
424
            var insuranceIds = ($el.find('.insuranceid').val() || "").split(',');
-
 
425
            var correlationIds = ($el.find('.correlationid').val() || "").split(',');
-
 
426
            var amounts = (insuranceEle.data('all-amounts') || "").toString().split(',');
-
 
427
 
-
 
428
            var ram = $el.find('.ram').val();
-
 
429
            var memory = $el.find('.memory').val();
-
 
430
            var rawDate = $el.find('.mfgdate').val();
-
 
431
            var mfgDate = rawDate ? new Date(rawDate).toISOString().split('.')[0] : "";
-
 
432
 
-
 
433
// Map each serial number to its corresponding insurance
-
 
434
            for (let i = 0; i < serialNumbers.length; i++) {
-
 
435
                let sn = serialNumbers[i];
411
            var insuranceAmount = 0;
436
                if (insuranceIds[i]) {
412
            if (insuranceEle.length > 0) {
437
                    for (let j = 0; j < insuranceIds.length; j++) {
-
 
438
                        let serialNumberDetail = {
-
 
439
                            serialNumber: sn,
-
 
440
                            insurance: insuranceIds[j] || "",
-
 
441
                            correlationId: correlationIds[i] || "",
413
                insuranceAmount = parseFloat(insuranceEle.val());
442
                            amount: parseFloat(amounts[j] || 0),
414
            }
443
                            ram: ram,
415
            var insuranceId = "";
444
                            memory: memory,
416
        var correlationId = "";
445
                            mfgDate: mfgDate
417
        var rawDate = "";
446
                        };
-
 
447
                        tmpObj.serialNumberDetails.push(serialNumberDetail);
418
        var dateObj = new Date();
448
                    }
419
        var mfgdate = "";
449
                } else {
420
 
-
 
421
        if (insuranceAmount > 0) {
450
                    let serialNumberDetail = {
-
 
451
                        serialNumber: sn,
422
                insuranceId = $(el).find('.insuranceid').val();
452
                        insurance: insuranceIds[i] || "",
423
            correlationId = $(el).find('.correlationid').val();
453
                        correlationId: correlationIds[i] || "",
-
 
454
                        amount: parseFloat(amounts[i] || 0),
-
 
455
                        ram: ram,
424
            rawDate = $(el).find('.mfgdate').val();
456
                        memory: memory,
425
            dateObj = new Date(rawDate);
457
                        mfgDate: mfgDate
-
 
458
                    };
426
            mfgdate = dateObj.toISOString().split('.')[0];
459
                    tmpObj.serialNumberDetails.push(serialNumberDetail);
-
 
460
                }
427
            }
461
            }
428
            var ram = $(el).find('.ram').val();
-
 
429
            var memory = $(el).find('.memory').val();
-
 
430
 
-
 
431
        console.log("correlationId--------", correlationId);
-
 
432
            var serialNumberDetail = {
-
 
433
                'serialNumber': $serialNumberElement.val(),
-
 
434
                'insurance': insuranceId,
-
 
435
                'correlationId': correlationId,
-
 
436
                'amount': insuranceAmount,
-
 
437
                'ram': ram, 'memory': memory, 'mfgDate': mfgdate
-
 
438
            };
-
 
439
            tmpObj.serialNumberDetails.push(serialNumberDetail);
-
 
440
 
-
 
441
        }
462
        }
442
    )
463
    )
443
    ;
464
    ;
444
 
465
 
445
 
466