www/js/prod_divide.js

branch
divide
changeset 533
be8691b7d634
parent 525
8bbc5730aaa8
child 602
10b61aacb1c1
equal deleted inserted replaced
532:d8f4ca915468 533:be8691b7d634
38 rows = $('#splitGrid').jqxGrid('getrows'); 38 rows = $('#splitGrid').jqxGrid('getrows');
39 leftover = Round(available, 1); 39 leftover = Round(available, 1);
40 for (i = 0; i < rows.length; i++) { 40 for (i = 0; i < rows.length; i++) {
41 row = rows[i]; 41 row = rows[i];
42 leftover -= row.split_size; 42 leftover -= row.split_size;
43 //console.log('i:' + i + ' split_size:' + row.split_size); 43 console.log('i:' + i + ' split_size:' + row.split_size);
44 } 44 }
45 $('#leftover').val(leftover); 45 $('#leftover').val(leftover);
46 //console.log('calcLeftover():' + leftover); 46 console.log('calcLeftover():' + leftover);
47 } 47 }
48 48
49 // Calculate available volume but ignore the current row. 49 // Calculate available volume but ignore the current row.
50 function calcRoom(r) { 50 function calcRoom(r) {
51 var rows, row, i, vol = 0; 51 var rows, row, i, vol = 0;
306 beforeLoadComplete: function(records) { 306 beforeLoadComplete: function(records) {
307 $('#jqxLoader').jqxLoader('open'); 307 $('#jqxLoader').jqxLoader('open');
308 } 308 }
309 }); 309 });
310 310
311 durl = 'includes/db_divides.php',
312
313 // Prepare the data
314 dividerec = {
315 datatype: 'json',
316 cache: false,
317 datafields: [
318 // From prod_main
319 { name: 'record', type: 'number' },
320 { name: 'divide_from', type: 'string' },
321 { name: 'divide_type', type: 'int' },
322 { name: 'divide_size', type: 'float' },
323 { name: 'name', type: 'string' },
324 { name: 'code', type: 'string' }
325 ],
326 id: 'record',
327 url: durl + '?record=' + my_record
328 };
329
330 var editSplit = function(data) { 311 var editSplit = function(data) {
331 var splitSource = { 312 var splitSource = {
332 datatype: 'local', 313 datatype: 'local',
333 cache: false, 314 cache: false,
334 async: false, 315 async: false,
477 $('#Save').bind('click', function() { 458 $('#Save').bind('click', function() {
478 var rows, row, i, div, data; 459 var rows, row, i, div, data;
479 if (leftover != available) { 460 if (leftover != available) {
480 console.log('Save and there are splits'); 461 console.log('Save and there are splits');
481 462
482 // Record 0, the master data 463 // Send all the info to the database. The server handles the splitting.
464 var divide_data = new Array();
465 row = {};
466 row.name = dataRecord.name;
467 row.code = dataRecord.code;
468 row.size = Round(leftover, 4);
469 row.factor = Round((leftover / available), 4);
470 row.part = 0;
471 divide_data.push(row);
472
473 rows = $('#splitGrid').jqxGrid('getrows');
474 for (i = 0; i < rows.length; i++) {
475 row = rows[i];
476 console.log('split ' + i);
477 div = {};
478 div.size = Round(row.split_size, 4);
479 div.factor = Round((row.split_size / available), 4);
480 div.part = i + 1;
481 div.name = row.split_name;
482 div.code = row.split_code;
483 divide_data.push(div);
484 }
485
486 // Send the data to the server
483 div = {}; 487 div = {};
484 div.divide_from = dataRecord.uuid; 488 div.record = dataRecord.record;
485 div.divide_type = dataRecord.divide_type; 489 div.divide_type = dataRecord.divide_type;
486 div.divide_size = leftover; 490 div.divide_parts = i;
487 div.divide_part = 0; 491 div.divide_data = divide_data;
488 div.name = dataRecord.name; 492 data = $.param(div);
489 div.code = dataRecord.code;
490 data = 'insert=true&' + $.param(div);
491 $.ajax({ 493 $.ajax({
492 dataType: 'json', 494 dataType: 'json',
493 url: durl, 495 url: 'includes/db_divides.php',
494 cache: false, 496 cache: false,
495 data: data, 497 data: data,
496 type: 'POST', 498 type: 'POST',
497 success: function(data, status, xhr) { 499 success: function(data, status, xhr) {
498 console.log('insert divides: 0'); 500 console.log('insert divides: success');
501 window.location.href = my_return;
499 }, 502 },
500 error: function(jqXHR, textStatus, errorThrown) { 503 error: function(jqXHR, textStatus, errorThrown) {
501 console.log('insert divides: ' + textStatus); 504 console.log('insert divides: ' + textStatus);
502 } 505 }
503 }); 506 });
504 507
505 rows = $('#splitGrid').jqxGrid('getrows');
506 for (i = 0; i < rows.length; i++) {
507 row = rows[i];
508 console.log('split ' + i);
509 div = {};
510 div.divide_from = dataRecord.uuid;
511 div.divide_type = dataRecord.divide_type;
512 div.divide_size = row.split_size;
513 div.divide_part = i + 1;
514 div.name = row.split_name;
515 div.code = row.split_code;
516 data = 'insert=true&' + $.param(div);
517 $.ajax({
518 dataType: 'json',
519 url: durl,
520 cache: false,
521 data: data,
522 type: 'POST',
523 success: function(data, status, xhr) {
524 console.log('insert divides: ' + i);
525 },
526 error: function(jqXHR, textStatus, errorThrown) {
527 console.log('insert divides: ' + textStatus);
528 }
529 });
530 }
531
532 div = {};
533 div.record = dataRecord.record;
534 div.divide_type = dataRecord.divide_type;
535 div.divide_size = leftover;
536 div.divide_parts = i;
537 data = 'splitit=true&' + $.param(div);
538 $.ajax({
539 dataType: 'json',
540 url: url,
541 cache: false,
542 data: data,
543 type: 'POST',
544 success: function(data, status, xhr) {
545 console.log('updated products');
546 },
547 error: function(jqXHR, textStatus, errorThrown) {
548 console.log('updated products: ' + textStatus);
549 }
550 });
551 } 508 }
552 window.location.href = my_return;
553 }); 509 });
554
555 }); 510 });

mercurial