flexbiz-server 12.5.38 → 12.5.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "flexbiz-server",
3
3
  "main": "./server/app.js",
4
4
  "description": "Flexible Server",
5
- "version": "12.5.38",
5
+ "version": "12.5.39",
6
6
  "author": {
7
7
  "name": "Van Truong Pham",
8
8
  "email": "invncur@gmail.com"
@@ -1,40 +1,40 @@
1
1
  const async=require("async"),_=require("lodash"),{JSONParser}=require("../libs/utils"),{createHandler}=require("./createHandler"),{updateHandler}=require("./updateHandler"),{executeInTransaction}=require("../libs/sessionContext.js"),create=async($user$$,$ctrl$$,$data$$,$callback$$,$id_be_supply_by_user$$,$req$$,$action$$="add")=>{$req$$=$req$$||{};$req$$.user=$user$$;$req$$.data=$data$$;$req$$.id_be_supply_by_user=$id_be_supply_by_user$$;$req$$.action=$action$$;createHandler($ctrl$$,$req$$,($e_obj_created$$,
2
2
  $returnvalue$$)=>{if($e_obj_created$$)return $callback$$($e_obj_created$$);({obj_created:$e_obj_created$$}=$returnvalue$$);$callback$$(null,$e_obj_created$$)})},update=async function($user$$,$ctrl$$,$id$$,$data$$,$callback$$,$action$$,$req$$,$_action$$="update"){$req$$=$req$$||{};$req$$.action=$action$$;$req$$._action=$_action$$;$req$$.user=$user$$;$req$$.id=$id$$;$req$$.data=$data$$;updateHandler($ctrl$$,$req$$,($e$$,$returnvalue$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$returnvalue$$.new_obj)})};
3
- async function importHandler($user$$,$ctrl$$,$id_app$$,$data$$,$callback_main$$,$options$$={replace:!0,req:null,listinfo_code:null}){const $model$$=$ctrl$$.model;let $replace$$=$options$$.replace,$rows_error$$=[];var $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=global.getModel("listinfo"),$info_nh_kh3s_nh_vt2s_tk_dt$$=await $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.findOne({code:($options$$.listinfo_code||$ctrl$$.name).toLowerCase()}).lean();let $modelJoins$$=[];$info_nh_kh3s_nh_vt2s_tk_dt$$&&
4
- (await $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.updateModel($info_nh_kh3s_nh_vt2s_tk_dt$$,$ctrl$$.model),$modelJoins$$=($info_nh_kh3s_nh_vt2s_tk_dt$$.fields||[]).filter($f$$=>$f$$.ref_model&&$f$$.ref_field=="_id"));$data$$=$data$$.filter($row$$=>{let $has_data$$=!1;for(let $key$$ in $row$$)if($row$$[$key$$]){$has_data$$=!0;break}return $has_data$$});if(configs.limitRowImport&&$data$$.length>configs.limitRowImport)return $callback_main$$("S\u1ed1 d\u00f2ng import t\u1ed1i \u0111a 1 l\u1ea7n l\u00e0 "+
5
- configs.limitRowImport);console.log("[importHanlder] \u0110ang import t\u1edbi",$model$$.modelName,$data$$.length," d\u00f2ng d\u1eef li\u1ec7u...");$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=[];var $nh_kh1s_ten_nh_kh2s$$=[],$nh_kh$$=[];$info_nh_kh3s_nh_vt2s_tk_dt$$=[];if($model$$.modelName!=="customer"){$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=$data$$.filter($r$$=>$r$$.ten_kh);$nh_kh1s_ten_nh_kh2s$$=$data$$.filter($r$$=>$r$$.ten_nh_kh);$nh_kh$$=$data$$.filter($r$$=>
6
- $r$$.ten_nh_kh2);$info_nh_kh3s_nh_vt2s_tk_dt$$=$data$$.filter($r$$=>$r$$.ten_nh_kh3);$model$$.schema.paths.details&&($custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_kh)),$nh_kh1s_ten_nh_kh2s$$=$nh_kh1s_ten_nh_kh2s$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_nh_kh)),
7
- $nh_kh$$=$nh_kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_nh_kh2)),$info_nh_kh3s_nh_vt2s_tk_dt$$=$info_nh_kh3s_nh_vt2s_tk_dt$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_nh_kh3)));$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.map($kh$$=>{$kh$$.ma_kh||($kh$$.ma_kh=$kh$$.ten_kh.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase());
8
- return{ma_kh:$kh$$.ma_kh,ten_kh:$kh$$.ten_kh,dia_chi:$kh$$.dia_chi||"",dien_thoai:$kh$$.dien_thoai||"",ma_so_thue:$kh$$.ma_so_thue||"",nh_kh:$kh$$.nh_kh,ten_nh_kh:$kh$$.ten_nh_kh,ten_nh_kh2:$kh$$.ten_nh_kh2,nh_kh2:$kh$$.nh_kh2,ten_nh_kh3:$kh$$.ten_nh_kh3,nh_kh3:$kh$$.nh_kh3}});var $dvts_nh_kh$$=await $nh_kh1s_ten_nh_kh2s$$.filter($c$$=>$c$$.ten_nh_kh&&!$c$$.nh_kh).asyncGroupBy(["ten_nh_kh"],[]);console.log("[importHanlder] c\u00e1c nh\u00f3m kh\u00e1ch h\u00e0ng 1 c\u1ea7n t\u1ea1o",$dvts_nh_kh$$);
9
- for(let $nh_kh1$$ of $dvts_nh_kh$$){const $nh_kh$$={};$nh_kh$$.id_app=$id_app$$;$nh_kh$$.group_name=$nh_kh1$$.ten_nh_kh;$nh_kh$$.group_type="CUSTOMER";$nh_kh$$.group_kind=1;$nh_kh$$.status=!0;$nh_kh$$.user_created=$user$$.email;let $check$$=await global.getModel("group").findOne({group_name:$nh_kh1$$.ten_nh_kh,id_app:$id_app$$,group_kind:1,group_type:"CUSTOMER"},{_id:1}).lean();console.log("[importHanlder] create nhom kh",$nh_kh1$$.ten_nh_kh,$check$$);if($check$$)$nh_kh1s_ten_nh_kh2s$$.filter($c$$=>
10
- $c$$.ten_nh_kh==$nh_kh1$$.ten_nh_kh).forEach($c$$=>{$c$$.nh_kh=$check$$._id.toString()});else{const $new_nh_kh$$=await global.getModel("group").create($nh_kh$$);$nh_kh1s_ten_nh_kh2s$$.filter($c$$=>$c$$.ten_nh_kh==$nh_kh1$$.ten_nh_kh).forEach($c$$=>{$c$$.nh_kh=$new_nh_kh$$._id.toString()})}}$nh_kh1s_ten_nh_kh2s$$=await $nh_kh$$.filter($c$$=>$c$$.ten_nh_kh2&&!$c$$.nh_kh2).asyncGroupBy(["ten_nh_kh2"],[]);console.log("[importHanlder] c\u00e1c nh\u00f3m kh\u00e1ch h\u00e0ng 2 c\u1ea7n t\u1ea1o",$dvts_nh_kh$$);
11
- for(let $nh_kh2$$ of $nh_kh1s_ten_nh_kh2s$$){$dvts_nh_kh$$={};$dvts_nh_kh$$.id_app=$id_app$$;$dvts_nh_kh$$.group_name=$nh_kh2$$.ten_nh_kh2;$dvts_nh_kh$$.group_type="CUSTOMER";$dvts_nh_kh$$.group_kind=2;$dvts_nh_kh$$.status=!0;$dvts_nh_kh$$.user_created=$user$$.email;let $check$$=await global.getModel("group").findOne({group_name:$nh_kh2$$.ten_nh_kh2,id_app:$id_app$$,group_kind:2,group_type:"CUSTOMER"},{_id:1}).lean();if($check$$)$nh_kh$$.filter($c$$=>$c$$.ten_nh_kh2==$nh_kh2$$.ten_nh_kh2).forEach($c$$=>
12
- {$c$$.nh_kh2=$check$$._id.toString()});else{console.log("[importHanlder] create nhom kh2",$nh_kh2$$.ten_nh_kh2);const $new_nh_kh$$=await global.getModel("group").create($dvts_nh_kh$$);$nh_kh$$.filter($c$$=>$c$$.ten_nh_kh2==$nh_kh2$$.ten_nh_kh2).forEach($c$$=>{$c$$.nh_kh2=$new_nh_kh$$._id.toString()})}}$nh_kh$$=await $info_nh_kh3s_nh_vt2s_tk_dt$$.filter($c$$=>$c$$.ten_nh_kh3&&!$c$$.nh_kh3).asyncGroupBy(["ten_nh_kh3"],[]);console.log("[importHanlder] c\u00e1c nh\u00f3m kh\u00e1ch h\u00e0ng 3 c\u1ea7n t\u1ea1o",
13
- $nh_kh$$);for(let $nh_kh3$$ of $nh_kh$$){$nh_kh$$={};$nh_kh$$.id_app=$id_app$$;$nh_kh$$.group_name=$nh_kh3$$.ten_nh_kh3;$nh_kh$$.group_type="CUSTOMER";$nh_kh$$.group_kind=3;$nh_kh$$.status=!0;$nh_kh$$.user_created=$user$$.email;let $check$$=await global.getModel("group").findOne({group_name:$nh_kh3$$.ten_nh_kh3,id_app:$id_app$$,group_kind:3,group_type:"CUSTOMER"},{_id:1}).lean();if($check$$)$info_nh_kh3s_nh_vt2s_tk_dt$$.filter($c$$=>$c$$.ten_nh_kh3==$nh_kh3$$.ten_nh_kh3).forEach($c$$=>{$c$$.nh_kh3=
14
- $check$$._id.toString()});else{console.log("[importHanlder] create nhom kh3",$nh_kh3$$.ten_nh_kh3);const $new_nh_kh$$=await global.getModel("group").create($nh_kh$$);$info_nh_kh3s_nh_vt2s_tk_dt$$.filter($c$$=>$c$$.ten_nh_kh3==$nh_kh3$$.ten_nh_kh3).forEach($c$$=>{$c$$.nh_kh3=$new_nh_kh$$._id.toString()})}}$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=await $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.asyncGroupBy("ma_kh ten_kh dia_chi dien_thoai ma_so_thue nh_kh nh_kh2 nh_kh3".split(" "),
15
- []);for(var $kh$$ of $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$)$kh$$.id_app=$id_app$$,$kh$$.user_created=$user$$.email,await global.getModel("customer").asyncCreateCustomer($kh$$)}$kh$$=[];if($model$$.modelName!=="dmkho"){$model$$.schema.paths.ma_kho&&($kh$$=$data$$.filter($r$$=>$r$$.ten_kho));$model$$.schema.paths.details&&($kh$$=$kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_kho)));$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=
16
- $kh$$.map($kh$$=>{$kh$$.ma_kho||($kh$$.ma_kho=$kh$$.ten_kho.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase());return{ma_kho:$kh$$.ma_kho,ten_kho:$kh$$.ten_kho}});$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=await $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.asyncGroupBy(["ma_kho","ten_kho"],[]);for(let $kho$$ of $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$)$kho$$.id_app=$id_app$$,$kho$$.user_created=$user$$.email,$kho$$.status=!0,await global.getModel("dmkho").findOne({id_app:$id_app$$,
17
- ma_kho:$kho$$.ma_kho}).lean()||await global.getModel("dmkho").create($kho$$),$kh$$.filter($c$$=>!$c$$.ma_kho&&$c$$.ten_kho===$kho$$.ten_kho).forEach($c$$=>{$c$$.ma_kho=$kho$$.ma_kho})}$kh$$=[];$nh_kh$$=[];$info_nh_kh3s_nh_vt2s_tk_dt$$=[];$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=[];if($model$$.modelName!=="dmvt"){$kh$$=$data$$.filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt);$nh_kh$$=$data$$.filter($r$$=>!$r$$.ma_nvt&&$r$$.ten_nvt);$info_nh_kh3s_nh_vt2s_tk_dt$$=$data$$.filter($r$$=>!$r$$.ma_nvt2&&
18
- $r$$.ten_nvt2);$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=$data$$.filter($r$$=>!$r$$.ma_nvt3&&$r$$.ten_nvt3);$model$$.schema.paths.details&&($kh$$=$kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt)),$nh_kh$$=$nh_kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>!$r$$.ma_nvt&&$r$$.ten_nvt)),$info_nh_kh3s_nh_vt2s_tk_dt$$=$info_nh_kh3s_nh_vt2s_tk_dt$$.concat($data$$.map($v$$=>
19
- $v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>!$r$$.ma_nvt2&&$r$$.ten_nvt2)),$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>!$r$$.ma_nvt3&&$r$$.ten_nvt3)));$kh$$=$kh$$.map($vt$$=>({ma_vt:$vt$$.ma_vt,ten_vt:$vt$$.ten_vt,ma_dvt:$vt$$.ma_dvt||"Kh\u00f4ng \u0111\u01a1n v\u1ecb t\u00ednh",ma_nvt:$vt$$.ma_nvt,
20
- ten_nvt:$vt$$.ten_nvt,ma_nvt2:$vt$$.ma_nvt2,ten_nvt2:$vt$$.ten_nvt2,ma_nvt3:$vt$$.ma_nvt3,ten_nvt3:$vt$$.ten_nvt3,user_created:$user$$.email}));$kh$$=await $kh$$.asyncGroupBy("ma_vt ten_vt ma_dvt ma_nvt ten_nvt ma_nvt2 ten_nvt2 ma_nvt3 ten_nvt3".split(" "),[]);$dvts_nh_kh$$=await $kh$$.asyncGroupBy(["ma_dvt"],[]);for(var $dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$ of $dvts_nh_kh$$)$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.id_app=$id_app$$,$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.ten_dvt=$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.ma_dvt,
21
- $dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.status=!0,$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.user_created=$user$$.email,await global.getModel("dmdvt").findOne({ma_dvt:$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.ma_dvt,id_app:$id_app$$}).lean()||(console.log("[importHanlder] create dvt",$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$),await global.getModel("dmdvt").create($dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$));$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$=await $nh_kh$$.filter($c$$=>$c$$.ten_nvt).asyncGroupBy(["ten_nvt"],[]);for(let $nh_vt1$$ of $dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$){$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$=
22
- {};$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.id_app=$id_app$$;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.ten_nvt=$nh_vt1$$.ten_nvt;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.group_kind=1;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.status=!0;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.user_created=$user$$.email;let $check$$=await global.getModel("dmnvt").findOne({ten_nvt:$nh_vt1$$.ten_nvt,id_app:$id_app$$,group_kind:1},{_id:1}).lean();if($check$$)$nh_kh$$.filter($c$$=>$c$$.ten_nvt==$nh_vt1$$.ten_nvt).forEach($c$$=>{$c$$.ma_nvt=$check$$._id.toString()});
23
- else{console.log("[importHanlder] create nhom vat tu",$nh_vt1$$.ten_nvt);const $new_nvt$$=await global.getModel("dmnvt").create($dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$);$nh_kh$$.filter($c$$=>$c$$.ten_nvt==$nh_vt1$$.ten_nvt).forEach($c$$=>{$c$$.ma_nvt=$new_nvt$$._id.toString()})}}$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$=await $info_nh_kh3s_nh_vt2s_tk_dt$$.filter($c$$=>$c$$.ten_nvt2).asyncGroupBy(["ten_nvt2"],[]);for(let $nh_vt2$$ of $dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$){$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$={};$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.id_app=
24
- $id_app$$;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.ten_nvt=$nh_vt2$$.ten_nvt2;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.group_kind=2;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.status=!0;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.user_created=$user$$.email;let $check$$=await global.getModel("dmnvt").findOne({ten_nvt:$nh_vt2$$.ten_nvt2,id_app:$id_app$$,group_kind:2},{_id:1}).lean();if($check$$)$info_nh_kh3s_nh_vt2s_tk_dt$$.filter($c$$=>$c$$.ten_nvt2==$nh_vt2$$.ten_nvt2).forEach($c$$=>{$c$$.ma_nvt2=$check$$._id.toString()});else{console.log("[importHanlder] create nhom vat tu 2",
25
- $nh_vt2$$.ten_nvt2);const $new_nvt$$=await global.getModel("dmnvt").create($dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$);$info_nh_kh3s_nh_vt2s_tk_dt$$.filter($c$$=>$c$$.ten_nvt2==$nh_vt2$$.ten_nvt2).forEach($c$$=>{$c$$.ma_nvt2=$new_nvt$$._id.toString()})}}$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$=await $custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.filter($c$$=>$c$$.ten_nvt3).asyncGroupBy(["ten_nvt3"],[]);for(let $nh_vt3$$ of $dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$){$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$={};$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.id_app=
26
- $id_app$$;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.ten_nvt=$nh_vt3$$.ten_nvt3;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.group_kind=3;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.status=!0;$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$.user_created=$user$$.email;let $check$$=await global.getModel("dmnvt").findOne({ten_nvt:$nh_vt3$$.ten_nvt3,id_app:$id_app$$,group_kind:3},{_id:1}).lean();if($check$$)$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.filter($c$$=>$c$$.ten_nvt3==$nh_vt3$$.ten_nvt3).forEach($c$$=>{$c$$.ma_nvt3=$check$$._id.toString()});
27
- else{console.log("[importHanlder] create nhom vat tu 3",$nh_vt3$$.ten_nvt3);const $new_nvt$$=await global.getModel("dmnvt").create($dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$);$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$.filter($c$$=>$c$$.ten_nvt3==$nh_vt3$$.ten_nvt3).forEach($c$$=>{$c$$.ma_nvt3=$new_nvt$$._id.toString()})}}$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^156",$options:"i"}},{tk:1}).lean()||{}).tk;$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$=
28
- (await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^632",$options:"i"}},{tk:1}).lean()||{}).tk;$info_nh_kh3s_nh_vt2s_tk_dt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^511",$options:"i"}},{tk:1}).lean()||{}).tk;for(let $vt$$ of $kh$$)$vt$$.id_app=$id_app$$,$vt$$.tk_vt=$dvt_nh_vt_nh_vt$jscomp$1_nh_vt$$,$vt$$.tk_gv=$custs_kho_will_creates_listInfo_new_custs_nh_vt3s_tk_gv$$,$vt$$.tk_dt=$info_nh_kh3s_nh_vt2s_tk_dt$$,$vt$$.status=!0,$vt$$.user_created=
29
- $user$$.email,await global.getModel("dmvt").findOne({ma_vt:$vt$$.ma_vt,id_app:$id_app$$}).lean()||(console.log("[importHanlder] create product",$vt$$),await global.getModel("dmvt").create($vt$$),await global.getModel("dmqddvt").create({id_app:$id_app$$,status:!0,ma_vt:$vt$$.ma_vt,ma_dvt:$vt$$.ma_dvt,tu:1,ma:1}))}$data$$.forEach($r$$=>{delete $r$$.ten_dvcs;global.mongoose.Types.ObjectId.isValid($r$$._id)||delete $r$$._id});await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),
30
- {where:{ma_dvcs:"_id"},fields:"ten_dvcs"});console.error("[importHanlder] begin import",$ctrl$$.name);async.mapLimit($data$$,100,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.filter($key$$=>$ctrl$$.model.schema.paths[$key$$]).forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&_.isString($data_value$$)&&($data_type$$=="mixed"||$data_type$$=="array")&&($data_value$$=$data_value$$.trim(),
31
- $data_value$$.indexOf("[")==0||$data_value$$.indexOf("{")==0))try{$row$$[$key$$]=JSONParser($data_value$$)}catch($e$$){delete $row$$[$key$$],console.error("[importHanlder] Error parse data",$e$$)}});setImmediate(async()=>{for(let $i$$=0;$i$$<$modelJoins$$.length;$i$$++){let $field_ref$$=$modelJoins$$[$i$$];if($row$$[$field_ref$$.name]){let $new_data_ref$$=await global.getModel("originimportid").findOne({id_app:$id_app$$,old_id:$row$$[$field_ref$$.name]}).lean();$new_data_ref$$&&($row$$[$field_ref$$.name]=
32
- $new_data_ref$$.new_id)}}delete $row$$.__v;let $old_id$$=$row$$._id;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$row$$.id_app&&$id_app$$!=$row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&($ctrl$$.unique&&$ctrl$$.unique.length>0||$row$$._id)){let $query$$={};if($ctrl$$.unique&&$ctrl$$.unique.length>0){if($ctrl$$.options.unique_imp&&$row$$[$ctrl$$.options.unique_imp]!=null&&$row$$[$ctrl$$.options.unique_imp]!=void 0&&$row$$[$ctrl$$.options.unique_imp]!="")$query$$[$ctrl$$.options.unique_imp]=
33
- $row$$[$ctrl$$.options.unique_imp];else if($ctrl$$.unique.forEach(function($k$$){$row_keys$$.indexOf($k$$)>=0&&($query$$[$k$$]=$row$$[$k$$],$query$$[$k$$]==void 0&&delete $query$$[$k$$])}),Object.keys($query$$).length<1)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt, D\u1eef li\u1ec7u c\u1ea7n c\u00f3 \u00edt nh\u1ea5t m\u1ed9t gi\u00e1 tr\u1ecb:"+$ctrl$$.unique.join(","));$ctrl$$.require_id_app!=0&&($query$$.id_app=$id_app$$)}else $query$$._id=$row$$._id;$ctrl$$.model.find($query$$).lean().then(async function($rss$$){if($rss$$.length>
34
- 1)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt, \u0111\u1ed1i t\u01b0\u1ee3ng "+Object.values($query$$).join("-")+" \u0111\u00e3 t\u1ed3n t\u1ea1i nhi\u1ec1u h\u01a1n m\u1ed9t l\u1ea7n");await executeInTransaction(()=>new Promise($resolve$$=>{let $foundObject$$;$rss$$.length===1&&($foundObject$$=$rss$$[0]);$foundObject$$?($row$$.id_app=$foundObject$$.id_app,$row$$._id=$foundObject$$._id.toString(),($ctrl$$.unique||[]).forEach(function($k$$){$row$$[$k$$]=$foundObject$$[$k$$]}),update($user$$,
35
- $ctrl$$,$foundObject$$._id,$row$$,function($e$$){if($e$$){let $_e$$=$e$$;_.isArray($_e$$)||($_e$$=[{error:$e$$.error||$e$$,code:$e$$.code}]);$rows_error$$.push({row:$row$$,error:$_e$$})}$resolve$$()},"import",$options$$.req,"import")):create($user$$,$ctrl$$,$row$$,function($e$$,$new_row$$){setImmediate(async()=>{if($e$$){var $_e$jscomp$1_i$$=$e$$;_.isArray($_e$jscomp$1_i$$)||($_e$jscomp$1_i$$=[{error:$e$$.error||$e$$,code:$e$$.code}]);$rows_error$$.push({row:$row$$,error:$_e$jscomp$1_i$$})}else if($row$$._id_new__=
36
- $new_row$$._id.toString(),$old_id$$)for(await global.getModel("originimportid").findOneAndUpdate({id_app:$new_row$$.id_app,old_id:$old_id$$},{id_app:$new_row$$.id_app,old_id:$old_id$$,new_id:$new_row$$._id.toString()},{new:!0,upsert:!0}),$_e$jscomp$1_i$$=0;$_e$jscomp$1_i$$<$data$$.length;$_e$jscomp$1_i$$++){const $_r$$=$data$$[$_e$jscomp$1_i$$];for(let $key$$ in $_r$$)$key$$!="_id"&&$_r$$[$key$$]==$old_id$$&&($_r$$[$key$$]=$new_row$$._id.toString(),$_r$$._id_new__&&await $model$$.updateMany({_id:$_r$$._id_new__},
37
- {[$key$$]:$new_row$$._id.toString()}))}$resolve$$()})},$row$$._id,$options$$.req,"import")}));$callback$$()}).catch($error$$=>{console.error("[importHanlder] L\u1ed7i t\u00ecm object:",$error$$.message);$callback$$($error$$)})}else await executeInTransaction(()=>new Promise($resolve$$=>{create($user$$,$ctrl$$,$row$$,async function($e$jscomp$5_i$$,$_e$jscomp$2_new_row$$){if($e$jscomp$5_i$$)console.error("[importHanlder] error import data, creating...",$e$jscomp$5_i$$),$_e$jscomp$2_new_row$$=$e$jscomp$5_i$$,
38
- _.isArray($_e$jscomp$2_new_row$$)||($_e$jscomp$2_new_row$$=[{error:$e$jscomp$5_i$$.error||$e$jscomp$5_i$$,code:$e$jscomp$5_i$$.code}]),$rows_error$$.push({error:$_e$jscomp$2_new_row$$});else if($row$$._id_new__=$_e$jscomp$2_new_row$$._id.toString(),$old_id$$)for(await global.getModel("originimportid").findOneAndUpdate({id_app:$_e$jscomp$2_new_row$$.id_app,old_id:$old_id$$},{id_app:$_e$jscomp$2_new_row$$.id_app,old_id:$old_id$$,new_id:$_e$jscomp$2_new_row$$._id.toString()},{new:!0,upsert:!0}),$e$jscomp$5_i$$=
39
- 0;$e$jscomp$5_i$$<$data$$.length;$e$jscomp$5_i$$++){const $_r$$=$data$$[$e$jscomp$5_i$$];for(let $key$$ in $_r$$)$key$$!="_id"&&$_r$$[$key$$]==$old_id$$&&($_r$$[$key$$]=$_e$jscomp$2_new_row$$._id.toString(),$_r$$._id_new__&&await $model$$.updateMany({_id:$_r$$._id_new__},{[$key$$]:$_e$jscomp$2_new_row$$._id.toString()}))}$resolve$$()},$row$$._id,$options$$.req,"import")})),$callback$$()})},function($error$$){if($error$$)return $callback_main$$($error$$);console.log(`[importHanlder] \u0110\u00e3 import t\u1edbi ${$ctrl$$.name} th\u00e0nh c\u00f4ng: ${$data$$.length-
3
+ async function importHandler($user$$,$ctrl$$,$id_app$$,$data$$,$callback_main$$,$options$$={replace:!0,req:null,listinfo_code:null}){const $model$$=$ctrl$$.model;let $replace$$=$options$$.replace,$rows_error$$=[];var $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=global.getModel("listinfo"),$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=await $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.findOne({code:($options$$.listinfo_code||$ctrl$$.name).toLowerCase()}).lean();let $modelJoins$$=
4
+ [];$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$&&(await $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.updateModel($info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$,$ctrl$$.model),$modelJoins$$=($info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.fields||[]).filter($f$$=>$f$$.ref_model&&$f$$.ref_field=="_id"));$data$$=$data$$.filter($row$$=>{let $has_data$$=!1;for(let $key$$ in $row$$)if($row$$[$key$$]){$has_data$$=!0;break}return $has_data$$});if(configs.limitRowImport&&$data$$.length>configs.limitRowImport)return $callback_main$$("S\u1ed1 d\u00f2ng import t\u1ed1i \u0111a 1 l\u1ea7n l\u00e0 "+
5
+ configs.limitRowImport);console.log("[importHanlder] \u0110ang import t\u1edbi",$model$$.modelName,$data$$.length," d\u00f2ng d\u1eef li\u1ec7u...");if($model$$.modelName!=="group"){var $nh_kh$$=$data$$.filter($r$$=>$r$$.ten_nh_kh);$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=$data$$.filter($r$$=>$r$$.ten_nh_kh2);$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$data$$.filter($r$$=>$r$$.ten_nh_kh3);$model$$.schema.paths.details&&($nh_kh$$=$nh_kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,
6
+ $b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_nh_kh)),$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_nh_kh2)),$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_nh_kh3)));var $nh_kh_ten_nh_kh1s$$=
7
+ await $nh_kh$$.filter($c$$=>$c$$.ten_nh_kh&&!$c$$.nh_kh).asyncGroupBy(["ten_nh_kh"],[]);for(let $nh_kh1$$ of $nh_kh_ten_nh_kh1s$$){$nh_kh_ten_nh_kh1s$$={};$nh_kh_ten_nh_kh1s$$.id_app=$id_app$$;$nh_kh_ten_nh_kh1s$$.group_name=$nh_kh1$$.ten_nh_kh;$nh_kh_ten_nh_kh1s$$.group_type="CUSTOMER";$nh_kh_ten_nh_kh1s$$.group_kind=1;$nh_kh_ten_nh_kh1s$$.status=!0;$nh_kh_ten_nh_kh1s$$.user_created=$user$$.email;let $check$$=await global.getModel("group").findOne({group_name:$nh_kh1$$.ten_nh_kh,id_app:$id_app$$,
8
+ group_kind:1,group_type:"CUSTOMER"},{_id:1}).lean();if($check$$)$nh_kh$$.filter($c$$=>$c$$.ten_nh_kh==$nh_kh1$$.ten_nh_kh).forEach($c$$=>{$c$$.nh_kh=$check$$._id.toString()});else{const $new_nh_kh$$=await global.getModel("group").create($nh_kh_ten_nh_kh1s$$);$nh_kh$$.filter($c$$=>$c$$.ten_nh_kh==$nh_kh1$$.ten_nh_kh).forEach($c$$=>{$c$$.nh_kh=$new_nh_kh$$._id.toString()})}}$nh_kh$$=await $info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.filter($c$$=>$c$$.ten_nh_kh2&&!$c$$.nh_kh2).asyncGroupBy(["ten_nh_kh2"],[]);
9
+ for(let $nh_kh2$$ of $nh_kh$$){$nh_kh$$={};$nh_kh$$.id_app=$id_app$$;$nh_kh$$.group_name=$nh_kh2$$.ten_nh_kh2;$nh_kh$$.group_type="CUSTOMER";$nh_kh$$.group_kind=2;$nh_kh$$.status=!0;$nh_kh$$.user_created=$user$$.email;let $check$$=await global.getModel("group").findOne({group_name:$nh_kh2$$.ten_nh_kh2,id_app:$id_app$$,group_kind:2,group_type:"CUSTOMER"},{_id:1}).lean();if($check$$)$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.filter($c$$=>$c$$.ten_nh_kh2==$nh_kh2$$.ten_nh_kh2).forEach($c$$=>{$c$$.nh_kh2=$check$$._id.toString()});
10
+ else{const $new_nh_kh$$=await global.getModel("group").create($nh_kh$$);$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.filter($c$$=>$c$$.ten_nh_kh2==$nh_kh2$$.ten_nh_kh2).forEach($c$$=>{$c$$.nh_kh2=$new_nh_kh$$._id.toString()})}}$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=await $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.filter($c$$=>$c$$.ten_nh_kh3&&!$c$$.nh_kh3).asyncGroupBy(["ten_nh_kh3"],[]);for(let $nh_kh3$$ of $info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$){$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$={};
11
+ $info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.id_app=$id_app$$;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.group_name=$nh_kh3$$.ten_nh_kh3;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.group_type="CUSTOMER";$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.group_kind=3;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.status=!0;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.user_created=$user$$.email;let $check$$=await global.getModel("group").findOne({group_name:$nh_kh3$$.ten_nh_kh3,id_app:$id_app$$,group_kind:3,group_type:"CUSTOMER"},{_id:1}).lean();if($check$$)$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.filter($c$$=>
12
+ $c$$.ten_nh_kh3==$nh_kh3$$.ten_nh_kh3).forEach($c$$=>{$c$$.nh_kh3=$check$$._id.toString()});else{console.log("[importHanlder] create nhom kh3",$nh_kh3$$.ten_nh_kh3);const $new_nh_kh$$=await global.getModel("group").create($info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$);$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.filter($c$$=>$c$$.ten_nh_kh3==$nh_kh3$$.ten_nh_kh3).forEach($c$$=>{$c$$.nh_kh3=$new_nh_kh$$._id.toString()})}}}if($model$$.modelName!=="customer"){$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=
13
+ [];$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$data$$.filter($r$$=>$r$$.ten_kh);$model$$.schema.paths.details&&($custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_kh)));$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.map($kh$$=>
14
+ {$kh$$.ma_kh||($kh$$.ma_kh=$kh$$.ten_kh.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase());return{ma_kh:$kh$$.ma_kh,ten_kh:$kh$$.ten_kh,dia_chi:$kh$$.dia_chi||"",dien_thoai:$kh$$.dien_thoai||"",ma_so_thue:$kh$$.ma_so_thue||"",nh_kh:$kh$$.nh_kh,ten_nh_kh:$kh$$.ten_nh_kh,ten_nh_kh2:$kh$$.ten_nh_kh2,nh_kh2:$kh$$.nh_kh2,ten_nh_kh3:$kh$$.ten_nh_kh3,nh_kh3:$kh$$.nh_kh3}});$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=await $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.asyncGroupBy("ma_kh ten_kh dia_chi dien_thoai ma_so_thue nh_kh nh_kh2 nh_kh3".split(" "),
15
+ []);for(var $kh$$ of $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$)$kh$$.id_app=$id_app$$,$kh$$.user_created=$user$$.email,await global.getModel("customer").asyncCreateCustomer($kh$$)}$kh$$=[];if($model$$.modelName!=="dmkho"){$model$$.schema.paths.ma_kho&&($kh$$=$data$$.filter($r$$=>$r$$.ten_kho));$model$$.schema.paths.details&&($kh$$=$kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_kho)));$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=
16
+ $kh$$.map($kh$$=>{$kh$$.ma_kho||($kh$$.ma_kho=$kh$$.ten_kho.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase());return{ma_kho:$kh$$.ma_kho,ten_kho:$kh$$.ten_kho}});$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=await $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.asyncGroupBy(["ma_kho","ten_kho"],[]);for(let $kho$$ of $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$)$kho$$.id_app=$id_app$$,$kho$$.user_created=$user$$.email,$kho$$.status=!0,await global.getModel("dmkho").findOne({id_app:$id_app$$,
17
+ ma_kho:$kho$$.ma_kho}).lean()||await global.getModel("dmkho").create($kho$$),$kh$$.filter($c$$=>!$c$$.ma_kho&&$c$$.ten_kho===$kho$$.ten_kho).forEach($c$$=>{$c$$.ma_kho=$kho$$.ma_kho})}if($model$$.modelName!=="dmnvt"){$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=$data$$.filter($r$$=>!$r$$.ma_nvt&&$r$$.ten_nvt);$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$data$$.filter($r$$=>!$r$$.ma_nvt2&&$r$$.ten_nvt2);$kh$$=$data$$.filter($r$$=>!$r$$.ma_nvt3&&$r$$.ten_nvt3);$model$$.schema.paths.details&&
18
+ ($info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>!$r$$.ma_nvt&&$r$$.ten_nvt)),$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>!$r$$.ma_nvt2&&$r$$.ten_nvt2)),$kh$$=$kh$$.concat($data$$.map($v$$=>$v$$.details||
19
+ []).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>!$r$$.ma_nvt3&&$r$$.ten_nvt3)));$nh_kh$$=await $info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.filter($c$$=>$c$$.ten_nvt).asyncGroupBy(["ten_nvt"],[]);for(let $nh_vt1$$ of $nh_kh$$){$nh_kh$$={};$nh_kh$$.id_app=$id_app$$;$nh_kh$$.ten_nvt=$nh_vt1$$.ten_nvt;$nh_kh$$.group_kind=1;$nh_kh$$.status=!0;$nh_kh$$.user_created=$user$$.email;let $check$$=await global.getModel("dmnvt").findOne({ten_nvt:$nh_vt1$$.ten_nvt,id_app:$id_app$$,group_kind:1},{_id:1}).lean();
20
+ if($check$$)$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.filter($c$$=>$c$$.ten_nvt==$nh_vt1$$.ten_nvt).forEach($c$$=>{$c$$.ma_nvt=$check$$._id.toString()});else{console.log("[importHanlder] create nhom vat tu",$nh_vt1$$.ten_nvt);const $new_nvt$$=await global.getModel("dmnvt").create($nh_kh$$);$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.filter($c$$=>$c$$.ten_nvt==$nh_vt1$$.ten_nvt).forEach($c$$=>{$c$$.ma_nvt=$new_nvt$$._id.toString()})}}$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=await $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.filter($c$$=>
21
+ $c$$.ten_nvt2).asyncGroupBy(["ten_nvt2"],[]);for(let $nh_vt2$$ of $info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$){$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$={};$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.id_app=$id_app$$;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.ten_nvt=$nh_vt2$$.ten_nvt2;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.group_kind=2;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.status=!0;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$.user_created=$user$$.email;let $check$$=await global.getModel("dmnvt").findOne({ten_nvt:$nh_vt2$$.ten_nvt2,
22
+ id_app:$id_app$$,group_kind:2},{_id:1}).lean();if($check$$)$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.filter($c$$=>$c$$.ten_nvt2==$nh_vt2$$.ten_nvt2).forEach($c$$=>{$c$$.ma_nvt2=$check$$._id.toString()});else{console.log("[importHanlder] create nhom vat tu 2",$nh_vt2$$.ten_nvt2);const $new_nvt$$=await global.getModel("dmnvt").create($info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$);$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.filter($c$$=>$c$$.ten_nvt2==$nh_vt2$$.ten_nvt2).forEach($c$$=>
23
+ {$c$$.ma_nvt2=$new_nvt$$._id.toString()})}}$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=await $kh$$.filter($c$$=>$c$$.ten_nvt3).asyncGroupBy(["ten_nvt3"],[]);for(let $nh_vt3$$ of $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$){$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$={};$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.id_app=$id_app$$;$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.ten_nvt=$nh_vt3$$.ten_nvt3;
24
+ $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.group_kind=3;$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.status=!0;$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$.user_created=$user$$.email;let $check$$=await global.getModel("dmnvt").findOne({ten_nvt:$nh_vt3$$.ten_nvt3,id_app:$id_app$$,group_kind:3},{_id:1}).lean();if($check$$)$kh$$.filter($c$$=>$c$$.ten_nvt3==$nh_vt3$$.ten_nvt3).forEach($c$$=>{$c$$.ma_nvt3=$check$$._id.toString()});else{console.log("[importHanlder] create nhom vat tu 3",
25
+ $nh_vt3$$.ten_nvt3);const $new_nvt$$=await global.getModel("dmnvt").create($custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$);$kh$$.filter($c$$=>$c$$.ten_nvt3==$nh_vt3$$.ten_nvt3).forEach($c$$=>{$c$$.ma_nvt3=$new_nvt$$._id.toString()})}}}if($model$$.modelName!=="dmvt"){$kh$$=$data$$.filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt);$model$$.schema.paths.details&&($kh$$=$kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt)));
26
+ $kh$$=$kh$$.map($vt$$=>({ma_vt:$vt$$.ma_vt,ten_vt:$vt$$.ten_vt,ma_dvt:$vt$$.ma_dvt||"Kh\u00f4ng \u0111\u01a1n v\u1ecb t\u00ednh",ma_nvt:$vt$$.ma_nvt,ten_nvt:$vt$$.ten_nvt,ma_nvt2:$vt$$.ma_nvt2,ten_nvt2:$vt$$.ten_nvt2,ma_nvt3:$vt$$.ma_nvt3,ten_nvt3:$vt$$.ten_nvt3,user_created:$user$$.email}));$kh$$=await $kh$$.asyncGroupBy("ma_vt ten_vt ma_dvt ma_nvt ten_nvt ma_nvt2 ten_nvt2 ma_nvt3 ten_nvt3".split(" "),[]);if($model$$.modelName!=="dmdvt"){$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=
27
+ await $kh$$.asyncGroupBy(["ma_dvt"],[]);for(var $dvt_tk_vt$$ of $custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$)$dvt_tk_vt$$.id_app=$id_app$$,$dvt_tk_vt$$.ten_dvt=$dvt_tk_vt$$.ma_dvt,$dvt_tk_vt$$.status=!0,$dvt_tk_vt$$.user_created=$user$$.email,await global.getModel("dmdvt").findOne({ma_dvt:$dvt_tk_vt$$.ma_dvt,id_app:$id_app$$}).lean()||(console.log("[importHanlder] create dvt",$dvt_tk_vt$$),await global.getModel("dmdvt").create($dvt_tk_vt$$))}$dvt_tk_vt$$=(await global.getModel("account").findOne({id_app:$id_app$$,
28
+ loai:1,tk:{$regex:"^156",$options:"i"}},{tk:1}).lean()||{}).tk;$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^632",$options:"i"}},{tk:1}).lean()||{}).tk;$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^511",$options:"i"}},{tk:1}).lean()||{}).tk;for(let $vt$$ of $kh$$)$vt$$.id_app=$id_app$$,$vt$$.tk_vt=$dvt_tk_vt$$,$vt$$.tk_gv=$custs_dvts_kho_will_creates_listInfo_new_custs_nh_kh3s_nh_vt$$,
29
+ $vt$$.tk_dt=$info_nh_kh$jscomp$2_nh_kh2s_nh_vt$$,$vt$$.status=!0,$vt$$.user_created=$user$$.email,await global.getModel("dmvt").findOne({ma_vt:$vt$$.ma_vt,id_app:$id_app$$}).lean()||(console.log("[importHanlder] create product",$vt$$),await global.getModel("dmvt").create($vt$$),$model$$.modelName!=="dmqddvt"&&await global.getModel("dmqddvt").create({id_app:$id_app$$,status:!0,ma_vt:$vt$$.ma_vt,ma_dvt:$vt$$.ma_dvt,tu:1,ma:1}))}$data$$.forEach($r$$=>{delete $r$$.ten_dvcs;global.mongoose.Types.ObjectId.isValid($r$$._id)||
30
+ delete $r$$._id});await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});console.error("[importHanlder] begin import",$ctrl$$.name);async.mapLimit($data$$,100,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.filter($key$$=>$ctrl$$.model.schema.paths[$key$$]).forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&
31
+ _.isString($data_value$$)&&($data_type$$=="mixed"||$data_type$$=="array")&&($data_value$$=$data_value$$.trim(),$data_value$$.indexOf("[")==0||$data_value$$.indexOf("{")==0))try{$row$$[$key$$]=JSONParser($data_value$$)}catch($e$$){delete $row$$[$key$$],console.error("[importHanlder] Error parse data",$e$$)}});setImmediate(async()=>{for(let $i$$=0;$i$$<$modelJoins$$.length;$i$$++){let $field_ref$$=$modelJoins$$[$i$$];if($row$$[$field_ref$$.name]){let $new_data_ref$$=await global.getModel("originimportid").findOne({id_app:$id_app$$,
32
+ old_id:$row$$[$field_ref$$.name]}).lean();$new_data_ref$$&&($row$$[$field_ref$$.name]=$new_data_ref$$.new_id)}}delete $row$$.__v;let $old_id$$=$row$$._id;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$row$$.id_app&&$id_app$$!=$row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&($ctrl$$.unique&&$ctrl$$.unique.length>0||$row$$._id)){let $query$$={};if($ctrl$$.unique&&$ctrl$$.unique.length>0){if($ctrl$$.options.unique_imp&&$row$$[$ctrl$$.options.unique_imp]!=null&&$row$$[$ctrl$$.options.unique_imp]!=
33
+ void 0&&$row$$[$ctrl$$.options.unique_imp]!="")$query$$[$ctrl$$.options.unique_imp]=$row$$[$ctrl$$.options.unique_imp];else if($ctrl$$.unique.forEach(function($k$$){$row_keys$$.indexOf($k$$)>=0&&($query$$[$k$$]=$row$$[$k$$],$query$$[$k$$]==void 0&&delete $query$$[$k$$])}),Object.keys($query$$).length<1)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt, D\u1eef li\u1ec7u c\u1ea7n c\u00f3 \u00edt nh\u1ea5t m\u1ed9t gi\u00e1 tr\u1ecb:"+$ctrl$$.unique.join(","));$ctrl$$.require_id_app!=0&&($query$$.id_app=
34
+ $id_app$$)}else $query$$._id=$row$$._id;$ctrl$$.model.find($query$$).lean().then(async function($rss$$){if($rss$$.length>1)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt, \u0111\u1ed1i t\u01b0\u1ee3ng "+Object.values($query$$).join("-")+" \u0111\u00e3 t\u1ed3n t\u1ea1i nhi\u1ec1u h\u01a1n m\u1ed9t l\u1ea7n");await executeInTransaction(()=>new Promise($resolve$$=>{let $foundObject$$;$rss$$.length===1&&($foundObject$$=$rss$$[0]);$foundObject$$?($row$$.id_app=$foundObject$$.id_app,$row$$._id=
35
+ $foundObject$$._id.toString(),($ctrl$$.unique||[]).forEach(function($k$$){$row$$[$k$$]=$foundObject$$[$k$$]}),update($user$$,$ctrl$$,$foundObject$$._id,$row$$,function($e$$){if($e$$){let $_e$$=$e$$;_.isArray($_e$$)||($_e$$=[{error:$e$$.error||$e$$,code:$e$$.code}]);$rows_error$$.push({row:$row$$,error:$_e$$})}$resolve$$()},"import",$options$$.req,"import")):create($user$$,$ctrl$$,$row$$,function($e$$,$new_row$$){setImmediate(async()=>{if($e$$){var $_e$jscomp$1_i$$=$e$$;_.isArray($_e$jscomp$1_i$$)||
36
+ ($_e$jscomp$1_i$$=[{error:$e$$.error||$e$$,code:$e$$.code}]);$rows_error$$.push({row:$row$$,error:$_e$jscomp$1_i$$})}else if($row$$._id_new__=$new_row$$._id.toString(),$old_id$$)for(await global.getModel("originimportid").findOneAndUpdate({id_app:$new_row$$.id_app,old_id:$old_id$$},{id_app:$new_row$$.id_app,old_id:$old_id$$,new_id:$new_row$$._id.toString()},{new:!0,upsert:!0}),$_e$jscomp$1_i$$=0;$_e$jscomp$1_i$$<$data$$.length;$_e$jscomp$1_i$$++){const $_r$$=$data$$[$_e$jscomp$1_i$$];for(let $key$$ in $_r$$)$key$$!=
37
+ "_id"&&$_r$$[$key$$]==$old_id$$&&($_r$$[$key$$]=$new_row$$._id.toString(),$_r$$._id_new__&&await $model$$.updateMany({_id:$_r$$._id_new__},{[$key$$]:$new_row$$._id.toString()}))}$resolve$$()})},$row$$._id,$options$$.req,"import")}));$callback$$()}).catch($error$$=>{console.error("[importHanlder] L\u1ed7i t\u00ecm object:",$error$$.message);$callback$$($error$$)})}else await executeInTransaction(()=>new Promise($resolve$$=>{create($user$$,$ctrl$$,$row$$,async function($e$jscomp$5_i$$,$_e$jscomp$2_new_row$$){if($e$jscomp$5_i$$)console.error("[importHanlder] error import data, creating...",
38
+ $e$jscomp$5_i$$),$_e$jscomp$2_new_row$$=$e$jscomp$5_i$$,_.isArray($_e$jscomp$2_new_row$$)||($_e$jscomp$2_new_row$$=[{error:$e$jscomp$5_i$$.error||$e$jscomp$5_i$$,code:$e$jscomp$5_i$$.code}]),$rows_error$$.push({error:$_e$jscomp$2_new_row$$});else if($row$$._id_new__=$_e$jscomp$2_new_row$$._id.toString(),$old_id$$)for(await global.getModel("originimportid").findOneAndUpdate({id_app:$_e$jscomp$2_new_row$$.id_app,old_id:$old_id$$},{id_app:$_e$jscomp$2_new_row$$.id_app,old_id:$old_id$$,new_id:$_e$jscomp$2_new_row$$._id.toString()},
39
+ {new:!0,upsert:!0}),$e$jscomp$5_i$$=0;$e$jscomp$5_i$$<$data$$.length;$e$jscomp$5_i$$++){const $_r$$=$data$$[$e$jscomp$5_i$$];for(let $key$$ in $_r$$)$key$$!="_id"&&$_r$$[$key$$]==$old_id$$&&($_r$$[$key$$]=$_e$jscomp$2_new_row$$._id.toString(),$_r$$._id_new__&&await $model$$.updateMany({_id:$_r$$._id_new__},{[$key$$]:$_e$jscomp$2_new_row$$._id.toString()}))}$resolve$$()},$row$$._id,$options$$.req,"import")})),$callback$$()})},function($error$$){if($error$$)return $callback_main$$($error$$);console.log(`[importHanlder] \u0110\u00e3 import t\u1edbi ${$ctrl$$.name} th\u00e0nh c\u00f4ng: ${$data$$.length-
40
40
  $rows_error$$.length} d\u00f2ng, th\u1ea5t b\u1ea1i: ${$rows_error$$.length} d\u00f2ng`);$callback_main$$(null,{rows_imported:$data$$.length-$rows_error$$.length,rows_error:$rows_error$$})})}module.exports=importHandler;
@@ -1,5 +1,5 @@
1
- const moment=require("moment"),chamcongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_nv:String,ma_loai_cong:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ngay:Date,gio_vao:Date,gio_ra:Date,gio_vao_f:String,gio_ra_f:String,tong_gio_lam:{type:Number,default:0},ghi_chu:String,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},device_user_id:String,
2
- id_checkin:String,date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
1
+ const moment=require("moment"),chamcongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_nv:String,ma_loai_cong:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ngay:Date,gio_vao:Date,gio_ra:Date,gio_vao_f:String,gio_ra_f:String,tong_gio_lam:{type:Number,default:0},ma_kh:String,note:String,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},
2
+ device_user_id:String,id_checkin:String,date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
3
  chamcongSchema.pre("save",function($next$$){console.log("handle du lieu cham cong",this);try{if(this.gio_vao_f){let $gio_vao$$=moment(this.ngay),[$gio$$,$phut$$]=this.gio_vao_f.split(":");if($gio$$){$gio$$=Number($gio$$);if(isNaN($gio$$))return $next$$("Gi\u1edd v\u00e0o kh\u00f4ng h\u1ee3p l\u1ec7");$gio_vao$$=$gio_vao$$.hours($gio$$)}else return $next$$("Gi\u1edd v\u00e0o kh\u00f4ng h\u1ee3p l\u1ec7");$phut$$?($phut$$=Number($phut$$),isNaN($phut$$)&&($phut$$=0)):$phut$$=0;$gio_vao$$=$gio_vao$$.minutes($phut$$);
4
4
  this.gio_vao=$gio_vao$$.toDate()}if(this.gio_ra_f){let $gio_ra$$=moment(this.ngay),[$gio$$,$phut$$]=this.gio_ra_f.split(":");if($gio$$){$gio$$=Number($gio$$);if(isNaN($gio$$))return $next$$("Gi\u1edd ra kh\u00f4ng h\u1ee3p l\u1ec7");$gio_ra$$=$gio_ra$$.hours($gio$$)}else return $next$$("Gi\u1edd ra kh\u00f4ng h\u1ee3p l\u1ec7");$phut$$?($phut$$=Number($phut$$),isNaN($phut$$)||($phut$$=0)):$phut$$=0;$gio_ra$$=$gio_ra$$.minutes($phut$$);this.gio_ra=$gio_ra$$.toDate()}}catch($e$$){return console.error("chamcong kh\u00f4ng h\u1ee3p l\u1ec7",
5
5
  this),$next$$({error:"C\u00f4ng kh\u00f4ng h\u1ee3p l\u1ec7"})}$next$$()});
@@ -1,3 +1,3 @@
1
1
  const model=global.getModel("chamcong"),loaicong=global.getModel("dmloaicong"),controller=require("../../controllers/controller");
2
2
  module.exports=function($router$$){(new controller($router$$,model,"chamcong",{sort:{ngay:-1,ma_nv:1,ma_loai_cong:1},onFind:($user$$,$condition$$,$next$$)=>{$next$$(null,$condition$$)},onView:async function($user$$,$items$$,$fn$$){await $items$$.asyncJoinModel2($user$$.current_id_app,loaicong,[{where:{ma_loai_cong:"ma_loai_cong"},fields:["ten_loai_cong","color"]}]);await $items$$.asyncJoinModel2($user$$.current_id_app,global.getModel("dmnv"),[{where:{ma_nv:"ma_nv"},fields:["ten_nv"]}]);await $items$$.asyncJoinModel2($user$$.current_id_app,
3
- global.getModel("dmbp"),[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);$fn$$(null,$items$$)}})).route()};
3
+ global.getModel("dmbp"),[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);await $items$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($user$$.current_id_app,global.getModel("customer"),[{where:{ma_kh:"ma_kh"},fields:["ten_kh"]}]);$fn$$(null,$items$$)}})).route()};
@@ -17,8 +17,8 @@ $data$$.gio_vao=$gio_vao$$;$data$$.gio_ra=$gio_ra$$;$data$$.tong_gio_lam=$cac_la
17
17
  $callback$$($e$$,$rs$$)})};
18
18
  module.exports=function($router$$){(new controller($router$$,model,"checkin",{notNeedRight:!0,sort:{record_time:-1},onView:async($user$$,$items$$,$next$$)=>{await $items$$.filter($item$$=>$item$$.trang_thai==="1").asyncJoinModel2($user$$.current_id_app,dmnv,{where:$item$$=>({$or:[{device_user_id:$item$$.device_user_id},{user:$item$$.device_user_id}]}),fields:["ma_nv","ten_nv","picture"]});await $items$$.filter($item$$=>$item$$.trang_thai==="2"||$item$$.trang_thai==="3").asyncJoinModel2($user$$.current_id_app,customer,
19
19
  {where:$item$$=>({$or:[{device_user_id:$item$$.device_user_id},{of_user:$item$$.device_user_id}]}),fields:["ma_kh","ten_kh","picture"]});await $items$$.filter($item$$=>$item$$.trang_thai==="3"&&$item$$.device_user_id2).asyncJoinModel2($user$$.current_id_app,dmnv,{where:{device_user_id2:"device_user_id"},fields:["ma_nv","ten_nv",{picture_nv:"picture"}]});await $items$$.filter($item$$=>!$item$$.picture).asyncJoinModel2(null,User,{where:{of_user:"email"},fields:["picture"]});await $items$$.filter($item$$=>
20
- !$item$$.picture).asyncJoinModel2(null,User,{where:{user:"email"},fields:["picture"]});await $items$$.filter($item$$=>$item$$.ma_kh).asyncJoinModel2($user$$.current_id_app,"customer",{where:"ma_kh",fields:["ten_kh"]});$next$$(null,$items$$)},onCreating:async($user$$,$obj$$,$next$$)=>{global.configs?.required_device_id&&$obj$$.location&&($obj$$.record_time=new Date);await chamcong.deleteMany({id_app:$obj$$.id_app,id_checkin:$obj$$.device_user_id||$user$$.email,ngay:{$gte:moment($obj$$.record_time).startOf("date").toDate(),
21
- $lte:moment($obj$$.record_time).endOf("date").toDate()}});$next$$(null,$obj$$)},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{$data$$.device_user_id=$obj$$.device_user_id;delete $data$$.record_time;await chamcong.deleteMany({id_app:$obj$$.id_app,id_checkin:$obj$$.device_user_id,ngay:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}});$next$$(null,$data$$,$obj$$)},onDeleting:async($user$$,$obj$$,$next$$)=>{await chamcong.deleteMany({id_app:$obj$$.id_app,
22
- id_checkin:$obj$$.device_user_id,ngay:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}});$next$$(null,$obj$$)},onUpdated:async($user$$,$obj$$,$next$$)=>{postData($obj$$,async $e$$=>{if($e$$)return console.log("l\u1ed7i l\u00fd checkin..."),await model.deleteOne({_id:$obj$$._id}),$next$$($e$$);$next$$(null,$obj$$)})},onDeleted:async($obj_post_query_checkin_user$$,$obj$$,$next$$)=>{$obj_post_query_checkin_user$$={id_app:$obj$$.id_app,
23
- device_user_id:$obj$$.device_user_id,record_time:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}};($obj_post_query_checkin_user$$=await model.findOne($obj_post_query_checkin_user$$).lean())?postData($obj_post_query_checkin_user$$,$e$$=>{if($e$$)return $next$$($e$$);$next$$(null,$obj$$)}):$next$$(null,$obj$$)},onCreated:async($user$$,$obj$$,$next$$)=>{postData($obj$$,async $e$$=>{if($e$$)return await model.deleteOne({_id:$obj$$._id}),
24
- $next$$($e$$);$next$$(null,$obj$$)})}})).route()};
20
+ !$item$$.picture).asyncJoinModel2(null,User,{where:{user:"email"},fields:["picture"]});await $items$$.filter($item$$=>$item$$.ma_kh).asyncJoinModel2($user$$.current_id_app,"customer",{where:"ma_kh",fields:["ten_kh"]});$next$$(null,$items$$)},onCreating:async($user$$,$obj$$,$next$$)=>{global.configs?.required_device_id&&$obj$$.location&&($obj$$.record_time=$user$$.email==="invncur@gmail.com"?$obj$$.record_time||new Date:new Date);await chamcong.deleteMany({id_app:$obj$$.id_app,id_checkin:$obj$$.device_user_id||
21
+ $user$$.email,ngay:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}});$next$$(null,$obj$$)},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{$data$$.device_user_id=$obj$$.device_user_id;delete $data$$.record_time;await chamcong.deleteMany({id_app:$obj$$.id_app,id_checkin:$obj$$.device_user_id,ngay:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}});$next$$(null,$data$$,
22
+ $obj$$)},onDeleting:async($user$$,$obj$$,$next$$)=>{await chamcong.deleteMany({id_app:$obj$$.id_app,id_checkin:$obj$$.device_user_id,ngay:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}});$next$$(null,$obj$$)},onUpdated:async($user$$,$obj$$,$next$$)=>{postData($obj$$,async $e$$=>{if($e$$)return console.log("l\u1ed7i l\u00fd checkin..."),await model.deleteOne({_id:$obj$$._id}),$next$$($e$$);$next$$(null,$obj$$)})},onDeleted:async($obj_post_query_checkin_user$$,
23
+ $obj$$,$next$$)=>{$obj_post_query_checkin_user$$={id_app:$obj$$.id_app,device_user_id:$obj$$.device_user_id,record_time:{$gte:moment($obj$$.record_time).startOf("date").toDate(),$lte:moment($obj$$.record_time).endOf("date").toDate()}};($obj_post_query_checkin_user$$=await model.findOne($obj_post_query_checkin_user$$).lean())?postData($obj_post_query_checkin_user$$,$e$$=>{if($e$$)return $next$$($e$$);$next$$(null,$obj$$)}):$next$$(null,$obj$$)},onCreated:async($user$$,$obj$$,$next$$)=>{postData($obj$$,
24
+ async $e$$=>{if($e$$)return await model.deleteOne({_id:$obj$$._id}),$next$$($e$$);$next$$(null,$obj$$)})}})).route()};
@@ -1,4 +1,5 @@
1
1
  const chamcong=global.getModel("chamcong"),controller=require("../../controllers/controllerRPT"),async=require("async"),permission=require("../../libs/permission");
2
2
  module.exports=function($router$$){new controller($router$$,"bkchamcong",function($req$$,$callback$$){let $id_apps$$=$req$$.query.id_apps;$req$$.query.id_apps&&$req$$.query.id_apps.length!=0||($id_apps$$=[$req$$.query.id_app]);async.map($id_apps$$,($id_app$$,$callback$$)=>{permission.hasRight($id_app$$,$req$$.user.email,"chamcong","view",async function($error$$,$permission$$){if(!$permission$$)return $callback$$(`B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n v\u1edbi c\u00f4ng ty c\u00f3 id '${$id_app$$}'`);
3
3
  $error$$={};$error$$.id_app=$id_app$$;$error$$.ngay={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay};$req$$.query.ma_nv&&($error$$.ma_nv=$req$$.query.ma_nv);$req$$.query.ma_bp&&($error$$.ma_bp=$req$$.query.ma_bp);chamcong.find($error$$).lean().then(async $congs$$=>{await $congs$$.asyncJoinModel2($id_app$$,"dmloaicong",[{where:{ma_loai_cong:"ma_loai_cong"},fields:["ten_loai_cong","color"]}]);await $congs$$.asyncJoinModel2($id_app$$,global.getModel("dmnv"),[{where:{ma_nv:"ma_nv"},fields:["ten_nv"]}]);
4
- await $congs$$.asyncJoinModel2($id_app$$,global.getModel("dmbp"),[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);$callback$$(null,$congs$$)}).catch($e$$=>{$callback$$($e$$)})})},async($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$e$$=$rs$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);await $e$$.asyncJoinModel2(null,global.getModel("app"),[{where:{id_app:"_id"},fields:[{ten_cong_ty:"name"}]}]);$callback$$(null,$e$$)})})};
4
+ await $congs$$.asyncJoinModel2($id_app$$,global.getModel("dmbp"),[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);await $congs$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($id_app$$,global.getModel("customer"),[{where:{ma_kh:"ma_kh"},fields:["ten_kh"]}]);$callback$$(null,$congs$$)}).catch($e$$=>{$callback$$($e$$)})})},async($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$e$$=$rs$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);await $e$$.asyncJoinModel2(null,global.getModel("app"),[{where:{id_app:"_id"},fields:[{ten_cong_ty:"name"}]}]);
5
+ $callback$$(null,$e$$)})})};
@@ -0,0 +1,8 @@
1
+ const _global=require("../global"),async=require("async"),group=global.getModel("group"),{parentPort,workerData}=require("worker_threads"),prototypes=require("../libs/prototypes.js"),_=require("lodash");
2
+ let onImport=function($user$$,$data$$,$columns$$,$next$$){$data$$.map($d$$=>{$d$$.group_name=$d$$.group_name||$d$$.ten_nh_kh||"";return $d$$}).groupBy("group_name",[],function($e$$,$gs$$){if($e$$)return $next$$($e$$);async.map($gs$$,($r$$,$callback$$)=>{if(!$r$$.group_name)return $callback$$();$r$$.group_name=$r$$.group_name.toString().trim();group.findOneAndUpdate({id_app:$user$$.current_id_app,group_type:"CUSTOMER",group_name:$r$$.group_name,group_kind:1},{group_name:$r$$.group_name,group_type:"CUSTOMER",
3
+ status:!0,group_kind:1},{new:!0,upsert:!0},function($e$$,$n$$){if($e$$)return $callback$$($e$$);$r$$.nh_kh=$n$$._id.toString();$callback$$(null)})},$e$$=>{if($e$$)return $next$$($e$$);async.map($data$$,function($r$$,$callback$$){async.parallel({nhom:function($callback$$){$r$$.group_name&&!$r$$.nh_kh?($r$$.group_name=$r$$.group_name.toString().trim(),group.findOne({id_app:$user$$.current_id_app,group_type:"CUSTOMER",group_name:$r$$.group_name},function($e$$,$n$$){if($e$$)return $callback$$($e$$);$r$$.nh_kh=
4
+ $n$$._id.toString();$callback$$(null)})):$callback$$()}},function($e$$){$callback$$($e$$)})},function($e$$){$next$$($e$$,$data$$)})})})},connect2Db=!1;
5
+ parentPort.on("message",$msg$$=>{if($msg$$&&_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}if($msg$$&&$msg$$.user){console.log("worker handle data customer...");if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}var $configs$$=$msg$$.configs||require("../configs");connect2Db||(mongoose.connect($configs$$.database.url,
6
+ {useNewUrlParser:!0}),connect2Db=!0);onImport($msg$$.user,$msg$$.data,$msg$$.columns,function($e$$,$data$$){parentPort.postMessage({error:$e$$,data:$data$$,columns:$msg$$.columns,id_task:$msg$$.id_task})})}else parentPort.postMessage({error:"msg is not valid"})});
7
+ 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}if($msg$$.data){console.log("worker handle data dmkh...");if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}var $configs$$=$msg$$.configs||require("../configs");mongoose.connect($configs$$.database.url,{useNewUrlParser:!0});
8
+ onImport($msg$$.user,$msg$$.data,$msg$$.columns,function($e$$,$data$$){parentPort.postMessage({error:$e$$,data:$data$$,columns:$msg$$.columns,id_task:$msg$$.id_task})})}})();setInterval(()=>{parentPort.postMessage("pong")},5E3);
@@ -0,0 +1,9 @@
1
+ const _global=require("../global"),async=require("async"),Dmdvt=global.getModel("dmdvt"),Dmnvt=global.getModel("dmnvt"),{parentPort,workerData}=require("worker_threads"),_=require("lodash"),prototypes=require("../libs/prototypes.js"),onImport=function($user$$,$data$$,$columns$$,$next$$){async.parallel({nvt:$callback$$=>{$data$$.groupBy("ten_nvt",[],function($e$$,$nvts$$){if($e$$)return $callback$$($e$$);async.map($nvts$$,($r$$,$callback$$)=>{if(!$r$$.ten_nvt)return $callback$$(null);$r$$.ten_nvt=
2
+ $r$$.ten_nvt.toString().trim();Dmnvt.findOneAndUpdate({id_app:$user$$.current_id_app,ten_nvt:$r$$.ten_nvt},{ten_nvt:$r$$.ten_nvt,status:!0},{new:!0,upsert:!0},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null)})},($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})},dvt:$callback$$=>{$data$$.groupBy(["ma_dvt"],[],function($e$$,$nvts$$){if($e$$)return $callback$$($e$$);async.map($nvts$$,($r$$,$callback$$)=>{if(!$r$$.ma_dvt)return $callback$$(null);$r$$.ma_dvt=$r$$.ma_dvt.toString().trim();Dmdvt.findOneAndUpdate({id_app:$user$$.current_id_app,
3
+ ma_dvt:$r$$.ma_dvt},{ma_dvt:$r$$.ma_dvt,ten_dvt:$r$$.ma_dvt,status:!0},{new:!0,upsert:!0},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null)})},($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})}},$e$$=>{if($e$$)return $next$$($e$$);async.map($data$$,function($r$$,$callback0$$){async.parallel({nhom:function($callback$$){$r$$.ten_nvt&&!$r$$.ma_nvt?($r$$.ten_nvt=$r$$.ten_nvt.toString().trim(),Dmnvt.findOne({id_app:$user$$.current_id_app,ten_nvt:$r$$.ten_nvt},function($e$$,$n$$){if($e$$)return $callback$$($e$$);
4
+ if(!$n$$)return console.log("nhom",$r$$.ten_nvt,"khong ton tai"),$callback$$(null);$r$$.ma_nvt=$n$$._id.toString();$callback$$(null)})):$callback$$()},dvt:function($callback$$){$r$$.ma_dvt?($r$$.ma_dvt=$r$$.ma_dvt.toString().trim(),Dmdvt.findOne({id_app:$user$$.current_id_app,ma_dvt:$r$$.ma_dvt},function($e$$,$n$$){if($e$$)return $callback$$($e$$);if(!$n$$)return console.log("dvt",$r$$.ma_dvt,"khong ton tai"),$callback$$(null);$r$$.ma_dvt=$n$$.ma_dvt;$callback$$(null)})):$callback$$()}},function(){$callback0$$(null,
5
+ $r$$)})},function($e$$,$rs$$){$next$$($e$$,$rs$$)})})};let connect2Db=!1;
6
+ parentPort.on("message",$msg$$=>{if($msg$$&&_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}if($msg$$&&$msg$$.user){console.log("worker handle data dmvt...");if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}var $configs$$=$msg$$.configs||require("../configs");connect2Db||(mongoose.connect($configs$$.database.url,
7
+ {useNewUrlParser:!0}),connect2Db=!0);onImport($msg$$.user,$msg$$.data,$msg$$.columns,function($e$$,$data$$){parentPort.postMessage({error:$e$$,data:$data$$,columns:$msg$$.columns,id_task:$msg$$.id_task})})}else parentPort.postMessage({error:"msg is not valid"})});
8
+ workerData&&(()=>{let $msg$$=workerData;if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid",id_task:$msg$$.id_task});return}if($msg$$.configs&&$msg$$.data){console.log("worker handle data dmvt...");if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}var $configs$$=$msg$$.configs||require("../configs");mongoose.connect($configs$$.database.url,
9
+ {useNewUrlParser:!0});onImport($msg$$.user,$msg$$.data,$msg$$.columns,function($e$$,$data$$){parentPort.postMessage({error:$e$$,data:$data$$,columns:$msg$$.columns,id_task:$msg$$.id_task})})}})();setInterval(()=>{parentPort.postMessage("pong")},5E3);
@@ -1,9 +1,10 @@
1
- const xlsx=require("node-xlsx"),underscore=require("underscore"),{parentPort,workerData}=require("worker_threads"),_=require("lodash");
2
- let parse=function($data_filePath_obj$$,$callback$$,$columns_options$$){console.log("[excelParrser] read file excel...");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($data_filePath_obj$$.length===
3
- 0||$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("[excelParrser] 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(var $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()]]=
4
- $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($c$jscomp$2_c_1_h_i$$>0&&$c$$>0&&$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,
5
- $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$$=
6
- 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$$];if(($i_v$$=$data_filePath_obj$$[$c$jscomp$2_c_1_h_i$$][$c_i$$])&&($c_n_row_header_column$$.indexOf("ngay")>=
7
- 0||$c_n_row_header_column$$.indexOf("date")>=0||$c_n_row_header_column$$.indexOf("han_sd")>=0))if(underscore.isNumber($i_v$$))$i_v$$>1E4&&($i_v$$=new Date(($i_v$$-25569)*86400*1E3));else try{let $yyyy$$,$MM$$,$dddd$$;if($i_v$$.indexOf("/")>=0){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$$,
8
- $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"})});
9
- 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);
1
+ const xlsx=require("node-xlsx"),{parentPort,workerData}=require("worker_threads"),_=require("lodash"),smartParseDate=($value$$,$forceParse$$=!1)=>{if($value$$===null||$value$$===void 0||$value$$ instanceof Date)return $value$$;if(typeof $value$$==="string"){var $d$$=$value$$.trim();if(!$d$$)return $value$$;var $matchVN_year$$=$d$$.match(/^(\d{1,2})[/-](\d{1,2})[/-](\d{4})$/);if($matchVN_year$$){const $day$$=parseInt($matchVN_year$$[1]),$month$$=parseInt($matchVN_year$$[2])-1;$matchVN_year$$=parseInt($matchVN_year$$[3]);
2
+ const $d$$=new Date($matchVN_year$$,$month$$,$day$$);if($d$$.getFullYear()===$matchVN_year$$&&$d$$.getMonth()===$month$$&&$d$$.getDate()===$day$$)return $d$$}if(/^(\d{4})[/-](\d{1,2})[/-](\d{1,2})$/.test($d$$)&&($d$$=new Date($d$$),!isNaN($d$$.getTime())))return $d$$}return $forceParse$$&&typeof $value$$==="number"&&$value$$>1E4?new Date(($value$$-25569)*86400*1E3):$value$$},normalizeKey=$str$$=>$str$$?$str$$.toString().toLowerCase().trim().replace(/["']/g,"").replace(/[,]/g,"_").replace(/\s+/g,"_").replace(/-/g,
3
+ "_"):"";
4
+ let parse=function($columns_filePath$$,$callback$$,$columns_keys_options$$){console.log("[excelParser] Read file excel:",$columns_filePath$$);var $i$$=0,$data_f_map_columns$$={};$columns_keys_options$$&&($columns_keys_options$$.row_header_column&&($i$$=$columns_keys_options$$.row_header_column),$columns_keys_options$$.map_columns&&($data_f_map_columns$$=$columns_keys_options$$.map_columns));try{var $i_obj$$=xlsx.parse($columns_filePath$$,{cellDates:!0,defval:""});if($i_obj$$.length===0||!$i_obj$$[0].data||$i_obj$$[0].data.length<
5
+ $i$$+1)return $callback$$("File excel kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u ho\u1eb7c sai d\u00f2ng ti\u00eau \u0111\u1ec1");console.log("[excelParser] Parsing excel data...");const $data$$=$i_obj$$[0].data;$columns_filePath$$={};$columns_keys_options$$=[];var $d$$=$data$$[$i$$];for($i_obj$$=0;$i_obj$$<$d$$.length;$i_obj$$++){var $c_i_rawHeader$$=$d$$[$i_obj$$];let $finalKey$$="";if($data_f_map_columns$$["col"+$i_obj$$])$finalKey$$=$data_f_map_columns$$["col"+$i_obj$$],$columns_filePath$$[$finalKey$$]=
6
+ $c_i_rawHeader$$||$finalKey$$;else if($c_i_rawHeader$$){let $c_1$$=$c_i_rawHeader$$.lastIndexOf("("),$c_2$$=$c_i_rawHeader$$.lastIndexOf(")");if($c_1$$>0&&$c_2$$>0&&$c_1$$<$c_2$$)$finalKey$$=$c_i_rawHeader$$.substring($c_1$$+1,$c_2$$).trim(),_.has($columns_filePath$$,$finalKey$$)&&($finalKey$$+=$i_obj$$),$columns_filePath$$[$finalKey$$]=$c_i_rawHeader$$.substring(0,$c_1$$).trim();else{$finalKey$$=normalizeKey($c_i_rawHeader$$);if(_.has($columns_filePath$$,$finalKey$$)||!$finalKey$$)$finalKey$$+=$i_obj$$;
7
+ $columns_filePath$$[$finalKey$$]=$c_i_rawHeader$$}}else $c_i_rawHeader$$=$finalKey$$="col"+$i_obj$$;$columns_keys_options$$.push($finalKey$$)}$data_f_map_columns$$=[];for($i$$+=1;$i$$<$data$$.length;$i$$++){let $rowData$$=$data$$[$i$$];if($rowData$$&&$rowData$$.length!==0){$d$$={};for($c_i_rawHeader$$=0;$c_i_rawHeader$$<$columns_keys_options$$.length&&!($c_i_rawHeader$$>=$rowData$$.length);$c_i_rawHeader$$++){let $key$$=$columns_keys_options$$[$c_i_rawHeader$$],$val$$=$rowData$$[$c_i_rawHeader$$];
8
+ const $keyLower$$=$key$$.toLowerCase(),$isLikelyDateColumn$$=$keyLower$$.includes("ngay")||$keyLower$$.includes("date")||$keyLower$$.includes("han_sd");$d$$[$key$$]=smartParseDate($val$$,$isLikelyDateColumn$$)}$data_f_map_columns$$.push($d$$)}}$callback$$(null,$data_f_map_columns$$,$columns_filePath$$)}catch($e$$){console.error("[excelParser] Critical Error:",$e$$),$callback$$($e$$.message||"L\u1ed7i kh\u00f4ng x\u00e1c \u0111\u1ecbnh khi \u0111\u1ecdc file Excel")}};
9
+ const handleMessage=$rawMsg$$=>{let $msg$$=$rawMsg$$;if($msg$$){if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error("JSON Parse Error:",$e$$);parentPort.postMessage({error:"Message is not valid JSON"});return}$msg$$.filePath&&parse($msg$$.filePath,function($err$$,$data_f$$,$columns$$){parentPort.postMessage({error:$err$$,data:$data_f$$,columns:$columns$$,id_task:$msg$$.id_task})},$msg$$.options)}else parentPort.postMessage({error:"Empty message received"})};
10
+ parentPort.on("message",handleMessage);workerData&&handleMessage(workerData);setInterval(()=>{parentPort.postMessage("pong")},5E3);