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 }); |