Stock Processing
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 

83 řádky
3.3 KiB

  1. // console.log("masuk");
  2. var _dataTable;
  3. function trimObj(obj) {
  4. if (obj === null || (!Array.isArray(obj) && typeof obj != "object"))
  5. return obj;
  6. return Object.keys(obj).reduce(
  7. function (acc, key) {
  8. acc[key.trim()] =
  9. typeof obj[key] == "string"
  10. ? obj[key].trim()
  11. : trimObj(obj[key]);
  12. return acc;
  13. },
  14. Array.isArray(obj) ? [] : {}
  15. );
  16. }
  17. $("#filePicker").change((e)=>{
  18. // console.log(e.target.files[0]);
  19. // var table = document.getElementById("tablePDF");
  20. // tableExport("tablePDF", "Storing_List.pdf", 'json');
  21. var files = e.target.files,
  22. f = files[0];
  23. if (f != undefined) {
  24. var reader = new FileReader();
  25. reader.onload = async function (e) {
  26. var data = new Uint8Array(e.target.result);
  27. workBook = XLSX.read(data, { type: "array" });
  28. // console.log(workBook,Object.keys(workBook.Sheets));
  29. if(workBook&&Object.keys(workBook.Sheets).length>0){
  30. worksheet = workBook.Sheets[Object.keys(workBook.Sheets)[0]];
  31. var jsa = XLSX.utils.sheet_to_json(worksheet);
  32. var newJSONArr = [];
  33. jsa.forEach(element => {
  34. if(Object.keys(element).includes("Parts Name Main Location")){
  35. var val = element["Parts Name Main Location"];
  36. delete element["Parts Name Main Location"];
  37. element["Parts Name"] = val.substring(0,val.length-11);
  38. element["Main Location"] = val.substring(val.length-11);
  39. }
  40. newJSONArr.push(element);
  41. });
  42. var columns = Object.keys(newJSONArr[0]);
  43. newJSONArr.forEach((element,idx)=>{
  44. columns.filter(i=>!Object.keys(element).includes(i)).forEach(col=>{
  45. newJSONArr[idx][col] = newJSONArr[idx-1][col];
  46. })
  47. });
  48. // worksheet = XLSX.utils.json_to_sheet(newJSONArr);
  49. // console.log(worksheet);
  50. newJSONArr = trimObj(newJSONArr);
  51. console.log(newJSONArr);
  52. _dataTable = $('#myTable').DataTable({
  53. data: newJSONArr,
  54. columns: [
  55. { data: "Case #", title: "Case" },
  56. { data: "Parts #", title: "Parts" },
  57. { data: "Parts Name", title: "Parts Name" },
  58. { data: "Main Location", title: "Main Location" },
  59. { data: "ABC", title: "ABC" },
  60. { data: "Receipt Qty", title: "Receipt Qty" },
  61. { data: "BO Qty", title: "BO Qty" },
  62. { data: "Location", title: "Location" },
  63. { data: "Qty", title: "Qty" },
  64. ],
  65. });
  66. // var html = XLSX.utils.sheet_to_html(worksheet);
  67. // console.log(html);
  68. }
  69. // var html = XLSX.utils.sheet_to_html(worksheet);
  70. };
  71. reader.readAsArrayBuffer(f);
  72. }
  73. // var wb = XLSX.utils.table_to_book(document.getElementById("TableToExport"));
  74. /* Export to file (start a download) */
  75. // XLSX.writeFile(wb, e.target.files[0]);
  76. });