Created
March 22, 2020 06:46
-
-
Save alfaben12/12e4150da1ebdeaabfd8d33eb0df49fd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let result = [] | |
let code = 200 | |
if(req.file == undefined){ | |
let code = 403 | |
return res.status(code).json({ | |
message: "Extensi tidak tiperbolehkan." | |
}) | |
}else{ | |
code = 200 | |
let filepath = process.cwd()+ '/files/csv/'+ req.file.filename | |
fs.readFile(filepath, async (err, data) => { | |
if (err) { | |
console.error(err) | |
return | |
} | |
result = await neatCsv(data) | |
if(result[5][0] == 1){ | |
let data = result | |
}else{ | |
let parameter = uuidv4() | |
let data = [] | |
for (let i = 0; i < result.length; i++) { | |
let string = result[i][0] | |
if(Object.keys(result[i]).length > 0){ | |
for (let j = 1; j < Object.keys(result[i]).length; j++) { | |
string += result[i][j] | |
} | |
} | |
data.push(string) | |
data = data.filter(function(el) { return el; }); // remove null value array | |
} | |
let restructured_all = [] | |
for (let i = 0; i < data.length; i++) { | |
let row = data[i].split(";") | |
restructured_all.push(row) | |
} | |
let data_insert = [] | |
for (let i = 0; i < restructured_all.length; i++) { | |
let row_biner = restructured_all[i].slice(2) | |
let single_data = { | |
parameter: parameter, | |
name: restructured_all[i][1], | |
biner: row_biner.toString(), | |
} | |
data_insert.push(single_data) | |
} | |
let restructured_biner = [] | |
for (let i = 0; i < data.length; i++) { // change i = 1 (fix same like a core php result) | |
let row = data[i].split(";") | |
let row_biner = row.slice(2) | |
restructured_biner.push(row_biner) | |
} | |
let array_biner = restructured_biner, restructured_biner_sum = array_biner.reduce((r, a) => a.map((b, i) => parseInt((r[i] || 0)) + parseInt(b)), []); | |
await ExportsModel.KeyBiner.bulkCreate(data_insert) | |
return res.status(code).json({ | |
parameter: parameter, | |
all: restructured_all, | |
biner: data_insert, | |
sum: restructured_biner_sum | |
}) | |
} | |
}) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment