UNPKG

flexbiz-server

Version:

Flexible Server

10 lines (9 loc) 4.09 kB
'use strict';const xlsx=require("node-xlsx"),underscore=require("underscore"),{parentPort,workerData}=require("worker_threads"),_=require("lodash"); let parse=function($data_filePath_obj$$,$callback$$,$columns_options$$){console.log("read file execl...");var $c_n_row_header_column$$=0,$columns_name_map_columns$$={};$columns_options$$&&$columns_options$$.row_header_column&&($c_n_row_header_column$$=$columns_options$$.row_header_column);$columns_options$$&&$columns_options$$.map_columns&&($columns_name_map_columns$$=$columns_options$$.map_columns);$data_filePath_obj$$=xlsx.parse($data_filePath_obj$$);if(0===$data_filePath_obj$$.length||$data_filePath_obj$$[0].data.length< $c_n_row_header_column$$+1)return $callback$$("File excel kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u");console.log("parse excel data...");$data_filePath_obj$$=$data_filePath_obj$$[0].data;$columns_options$$={};var $d_columns_data_f$$=$data_filePath_obj$$[$c_n_row_header_column$$];for($i_v$$=0;$i_v$$<$d_columns_data_f$$.length;$i_v$$++)if($columns_name_map_columns$$["col"+$i_v$$.toString()])$columns_options$$[$columns_name_map_columns$$["col"+$i_v$$.toString()]]=$d_columns_data_f$$[$i_v$$];else{$d_columns_data_f$$[$i_v$$]|| ($d_columns_data_f$$[$i_v$$]="col"+$i_v$$.toString());var $c$jscomp$2_c_1_h_i$$=$d_columns_data_f$$[$i_v$$].lastIndexOf("("),$c$$=$d_columns_data_f$$[$i_v$$].lastIndexOf(")");if(0<$c$jscomp$2_c_1_h_i$$&&0<$c$$&&$c$jscomp$2_c_1_h_i$$<$c$$)$c$$=$d_columns_data_f$$[$i_v$$].substring($c$jscomp$2_c_1_h_i$$+1,$c$$),underscore.has($columns_options$$,$c$$)&&($c$$+=$i_v$$.toString()),$c$jscomp$2_c_1_h_i$$=$d_columns_data_f$$[$i_v$$].substring(0,$c$jscomp$2_c_1_h_i$$),$columns_options$$[$c$$]=$c$jscomp$2_c_1_h_i$$; else{$c$jscomp$2_c_1_h_i$$=$d_columns_data_f$$[$i_v$$].split(" ").join("_").split(" ").join("_").split("-").join("_").split("''").join("").split(",").join("_").split('"').join("").toLowerCase();underscore.has($columns_options$$,$c$jscomp$2_c_1_h_i$$)&&($c$jscomp$2_c_1_h_i$$+=$i_v$$.toString());try{$columns_options$$[$c$jscomp$2_c_1_h_i$$]=$d_columns_data_f$$[$i_v$$]}catch($e$$){$columns_options$$["col"+$i_v$$.toString()]=$d_columns_data_f$$[$i_v$$]}}}$columns_name_map_columns$$=underscore.keys($columns_options$$); $d_columns_data_f$$=[];for($c$jscomp$2_c_1_h_i$$=$c_n_row_header_column$$+1;$c$jscomp$2_c_1_h_i$$<$data_filePath_obj$$.length;$c$jscomp$2_c_1_h_i$$++){$c$$={};let $c_i$$;for($c_i$$=0;$c_i$$<$columns_name_map_columns$$.length;$c_i$$++)if($data_filePath_obj$$[$c$jscomp$2_c_1_h_i$$].length>$c_i$$){$c_n_row_header_column$$=$columns_name_map_columns$$[$c_i$$];var $i_v$$=$data_filePath_obj$$[$c$jscomp$2_c_1_h_i$$][$c_i$$];if($i_v$$&&(0<=$c_n_row_header_column$$.indexOf("ngay")||0<=$c_n_row_header_column$$.indexOf("date")|| 0<=$c_n_row_header_column$$.indexOf("han_sd")))if(underscore.isNumber($i_v$$))1E4<$i_v$$&&($i_v$$=new Date(864E5*($i_v$$-25569)));else try{let $yyyy$$,$MM$$,$dddd$$;if(0<=$i_v$$.indexOf("/")){let $p_v$$=$i_v$$.split("/");$yyyy$$=$p_v$$[2];$MM$$=$p_v$$[1];$dddd$$=$p_v$$[0]}$i_v$$=new Date($yyyy$$+"-"+$MM$$+"-"+$dddd$$)}catch($e$$){console.log($e$$,$i_v$$)}$c$$[$c_n_row_header_column$$]=$i_v$$}$d_columns_data_f$$.push($c$$)}$callback$$(null,$d_columns_data_f$$,$columns_options$$)}; parentPort.on("message",$data$$=>{if($data$$){if(_.isString($data$$))try{$data$$=JSON.parse($data$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}parse($data$$.filePath,function($e$$,$data_f$$,$columns$$){parentPort.postMessage({error:$e$$,data:$data_f$$,columns:$columns$$,id_task:$data$$.id_task})},$data$$.options)}else parentPort.postMessage({error:"data is not valid"})}); workerData&&(()=>{let $msg$$=workerData;if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}$msg$$.filePath&&parse($msg$$.filePath,function($e$$,$data_f$$,$columns$$){parentPort.postMessage({error:$e$$,data:$data_f$$,columns:$columns$$,id_task:$msg$$.id_task})},$msg$$.options)})();setInterval(()=>{parentPort.postMessage("pong")},5E3);