flexbiz-server 12.5.39 → 12.5.40

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.
@@ -1,27 +1,28 @@
1
1
  const PostBook=require("../../libs/post-book"),PostSokho=require("../../libs/post-sokho"),PostSocai=require("../../libs/post-socai"),dmkho=global.getModel("dmkho"),Tdttco=global.getModel("tdttco"),Tdttco_tt=global.getModel("tdttco_tt"),Vatvao=global.getModel("vatvao"),dmvt=global.getModel("dmvt"),dmcpmh=global.getModel("dmcpmh"),account=global.getModel("account"),customer=global.getModel("customer"),Dmgiaban=global.getModel("dmgiaban"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=
2
2
  global.getModel("contract"),purchasecontract=global.getModel("purchase_contract"),po1=global.getModel("po1"),model=global.getModel("pn1"),controller=require("../../controllers/controller"),trangthai=global.getModel("trangthai"),async=require("async"),Sokhott=global.getModel("sokhott"),Options=global.getModel("options"),ma_ct="PN1",moment=require("moment"),_=require("lodash");
3
3
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,kiem_tra_han_muc_cong_no:!0,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();$contr_router$$.post=async function($obj$$,$fn$$,$_options$$={}){$fn$$||=function(){};let $options$$;try{$options$$=await Options.getInfo($obj$$.id_app,{id_func:($obj$$.listinfo_code||$obj$$.ma_ct).toLowerCase()},"option")}catch($e$$){console.log($e$$.message,{id_func:$obj$$.ma_ct})}$options$$||=
4
- {};await ($obj$$.details||[]).asyncJoinModel2($obj$$.id_app,"dmvt",{where:"ma_vt",fields:["tk_dt"]});let $details_sokho$$=[...$obj$$.details];for(var $d_pk$$ of $details_sokho$$)$d_pk$$.nxt=1,$d_pk$$.tk_co=$obj$$.tk_co;for(var $d$jscomp$1_pk$$ of($obj$$.ds_pk_nhap||[]).filter($d$$=>$d$$.ma_pk_nhap&&$d$$.sl_pk_nhap))$d_pk$$={...$d$jscomp$1_pk$$},$d_pk$$.ma_vt=$d$jscomp$1_pk$$.ma_pk_nhap,$d_pk$$.ma_dvt=$d$jscomp$1_pk$$.ma_dvt_pk_nhap,$d_pk$$.ma_kho=$d$jscomp$1_pk$$.ma_kho_pk_nhap,$d_pk$$.nxt=1,$d_pk$$.tk_co=
5
- $obj$$.tk_co,$d_pk$$.sl_nhap=$d$jscomp$1_pk$$.sl_pk_nhap,$d_pk$$.gia_von_nt=$d$jscomp$1_pk$$.gia_von_pk_nhap_nt||0,$d_pk$$.gia_von=$d_pk$$.gia_von_nt*($obj$$.ty_gia||1),$d_pk$$.tien_nhap_nt=$d$jscomp$1_pk$$.tien_nhap_pk_nt||0,$d_pk$$.tien_nhap=$d_pk$$.tien_nhap_nt*($obj$$.ty_gia||1),$d_pk$$.sl_xuat=0,$d_pk$$.tien_hang_nt=$d_pk$$.tien_hang=0,$d_pk$$.tien_ck=$d_pk$$.tien_ck_nt=$d_pk$$.ty_le_ck=0,$d_pk$$.tien_phi=$d_pk$$.tien_phi_nt=0,$details_sokho$$.push($d_pk$$);for(var $d$$ of($obj$$.ds_pk_xuat||
6
- []).filter($d$$=>$d$$.ma_pk_xuat&&$d$$.sl_pk_xuat))$d$jscomp$1_pk$$={...$d$$},$d$jscomp$1_pk$$.ma_vt=$d$$.ma_pk_xuat,$d$jscomp$1_pk$$.ma_dvt=$d$$.ma_dvt_pk_xuat,$d$jscomp$1_pk$$.ma_kho=$d$$.ma_kho_pk_xuat,$d$jscomp$1_pk$$.nxt=2,$d$jscomp$1_pk$$.tk_no=$obj$$.tk_co,$d$jscomp$1_pk$$.tk_co="",$d$jscomp$1_pk$$.sl_xuat=$d$$.sl_pk_xuat,$d$jscomp$1_pk$$.gia_von_nt=$d$$.gia_von_pk_xuat_nt||0,$d$jscomp$1_pk$$.gia_von=$d$jscomp$1_pk$$.gia_von_nt*($obj$$.ty_gia||1),$d$jscomp$1_pk$$.tien_xuat_nt=$d$$.tien_xuat_pk_nt||
7
- 0,$d$jscomp$1_pk$$.tien_xuat=$d$jscomp$1_pk$$.tien_xuat_nt*($obj$$.ty_gia||1),$d$jscomp$1_pk$$.sl_nhap=0,$d$jscomp$1_pk$$.tien_nhap_nt=$d$jscomp$1_pk$$.tien_nhap=0,$d$jscomp$1_pk$$.tien_hang_nt=$d$jscomp$1_pk$$.tien_hang=0,$d$jscomp$1_pk$$.tien_ck=$d$jscomp$1_pk$$.tien_ck_nt=$d$jscomp$1_pk$$.ty_le_ck=0,$d$jscomp$1_pk$$.tien_phi=$d$jscomp$1_pk$$.tien_phi_nt=0,$details_sokho$$.push($d$jscomp$1_pk$$);for(let $detail$$ of $obj$$.details.filter($d$$=>$d$$.sl_vt_du))$d$$={...$detail$$,nxt:2},$d$$.ma_vt=
8
- $d$$.ma_vt_du||$d$$.ma_vt,$d$$.ma_dvt=$detail$$.ma_dvt_vt_du||$d$$.ma_dvt,$d$$.sl_xuat=$d$$.sl_vt_du,$d$$.tien_xuat_nt=$d$$.tien_xuat=$d$$.gt_vt_du||0,$d$$.tien_hang_nt=$d$$.tien_hang=0,$d$$.tien_ck=$d$$.tien_ck_nt=$d$$.ty_le_ck=0,$d$$.tien_phi=$d$$.tien_phi_nt=0,$d$$.sl_nhap=0,$d$$.gia_von_nt=$d$$.gia_von=0,$d$$.tien_nhap=$d$$.tien_nhap_nt=0,$details_sokho$$.push($d$$);await $details_sokho$$.filter($d$$=>!$d$$.ma_dvt).asyncJoinModel2($obj$$.id_app,"dmvt",{where:"ma_vt",fields:"ma_dvt"});let $data_vatvaos$$=
9
- $obj$$.vatvaos;$data_vatvaos$$&&$data_vatvaos$$.length!=0||($data_vatvaos$$=($obj$$.details||[]).filter($d$$=>$d$$.ma_thue),$data_vatvaos$$=await $data_vatvaos$$.asyncGroupBy("ma_thue ma_hoa_don ky_hieu_hoa_don ma_tc so_hd so_seri ngay_hd tk_thue_no".split(" "),"tien_hang_nt tien_hang tien_ck tien_ck_nt tien_thue tien_thue_nt".split(" ")),$data_vatvaos$$.forEach($v$$=>{$v$$.t_tien_nt=$v$$.tien_hang_nt-$v$$.tien_ck_nt;$v$$.t_tien=$v$$.t_tien_nt*$obj$$.ty_gia;$v$$.t_thue_nt=$v$$.tien_thue_nt;$v$$.t_thue=
10
- $v$$.t_thue_nt*$obj$$.ty_gia;$v$$.t_hd_nt=$v$$.t_tien_nt+$v$$.t_thue_nt;$v$$.t_hd=$v$$.t_tien+$v$$.t_thue;$v$$.tk_du_thue=$obj$$.tk_co}),await $data_vatvaos$$.filter($d$$=>!$d$$.tk_thue_no).asyncJoinModel2($obj$$.id_app,"vat",{where:"ma_thue",fields:"tk_thue_no"}));async.series({post_sokho:function($callback$$){async.series({kt:$callback$$=>{$options$$.not_post_sokho?$callback$$():(new PostSokho($obj$$,[...$details_sokho$$],async($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.nxt=$detail$$.nxt||
11
- 1;$callback$$($detail$$)})).run(function(){$callback$$()})},tt:$callback$$=>{$options$$.post_sokhott?(new PostBook($obj$$,[...$details_sokho$$],Sokhott,async($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.nxt=$detail$$.nxt||1;$callback$$($detail$$)})).run(function(){$callback$$()}):$callback$$()}},($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},post_vat_vao:function($callback$$){setImmediate(async()=>{(new PostBook($obj$$,_.cloneDeep($data_vatvaos$$),Vatvao,($detail$$,$callback$$)=>{$detail$$=
12
- {...$detail$$};$detail$$.ten_vt=$detail$$.ten_vt||$obj$$.dien_giai||($obj$$.details||[]).map($d$$=>$d$$.ten_vt).join(", ");$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})},post_gia_ban:function($callback$$){setImmediate(async()=>{var $congthucs_ma_vts_query$$=$obj$$.details.filter($r$$=>$r$$.gia_von_nt).map($d$$=>$d$$.ma_vt);$congthucs_ma_vts_query$$={id_app:$obj$$.id_app,ma_vt:{$in:$congthucs_ma_vts_query$$}};let $hieu_luc_den$$={$gte:$obj$$.ngay_ct};$congthucs_ma_vts_query$$.hieu_luc_tu=
13
- {$lte:$obj$$.ngay_ct};$congthucs_ma_vts_query$$.hieu_luc_den=$hieu_luc_den$$;$congthucs_ma_vts_query$$=await global.getModel("congthuctinhgiaban").find($congthucs_ma_vts_query$$).lean();if($congthucs_ma_vts_query$$.length<0)return $callback$$();$congthucs_ma_vts_query$$.forEach($c$$=>{let $d$$=$obj$$.details.find($d$$=>$d$$.ma_vt==$c$$.ma_vt);$d$$&&($c$$.ma_dvt=$d$$.ma_dvt,$c$$.hieu_luc_tu=$obj$$.ngay_ct,$c$$.ma_nt=$obj$$.ma_nt,$c$$.ty_gia=$obj$$.ty_gia,$c$$.gia_ban_le=Math.round($d$$.gia_von_nt*
14
- $c$$.ty_le_lai/100)+$d$$.gia_von_nt)});(new PostBook({_id:$obj$$._id,id_app:$obj$$.id_app},$congthucs_ma_vts_query$$.filter($r$$=>$r$$.gia_ban_le),Dmgiaban)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})},post_socai:function($callback$$){const $details_sc$$=[];_.cloneDeep($data_vatvaos$$).forEach(function($v$$){$v$$={...$v$$};$v$$.tk_no=$v$$.tk_thue_no;$v$$.tk_co=$v$$.tk_du_thue;$v$$.tien_nt=$v$$.t_thue_nt;$v$$.tien=$v$$.t_thue;$v$$.ma_kh=$v$$.ma_kh_cn||$v$$.ma_kh;$details_sc$$.push($v$$)});
15
- $obj$$.details.forEach(function($d$jscomp$13_detail$$){$d$jscomp$13_detail$$={...$d$jscomp$13_detail$$};$d$jscomp$13_detail$$.tk_no=$d$jscomp$13_detail$$.tk_vt;$d$jscomp$13_detail$$.ma_kh||($d$jscomp$13_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$13_detail$$.tk_co=$obj$$.tk_co;$d$jscomp$13_detail$$.tien_nt=$d$jscomp$13_detail$$.tien_nhap_nt;$d$jscomp$13_detail$$.tien=$d$jscomp$13_detail$$.tien_nhap;$details_sc$$.push($d$jscomp$13_detail$$)});for(let $detail$$ of $obj$$.details.filter($d$$=>$d$$.gt_vt_du)){const $vt_du$$=
16
- {...$detail$$,sl_nhap:0};$vt_du$$.gia_von_nt=$vt_du$$.gia_von=0;$vt_du$$.tien_nhap=$vt_du$$.tien_nhap_nt=0;$detail$$.tk_no=$detail$$.tk_co;$detail$$.ma_kh||($detail$$.ma_kh=$obj$$.ma_kh);$detail$$.tk_co=$detail$$.tk_dt_vt_du||$detail$$.tk_dt;$detail$$.tien_nt=$detail$$.gt_vt_du;$detail$$.tien=$detail$$.gt_vt_du;$details_sc$$.push($vt_du$$)}(new PostSocai($obj$$,$details_sc$$,void 0,void 0,$_options$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_tdttco:function($callback$$){account.findOne({tk:$obj$$.tk_co,
17
- id_app:$obj$$.id_app},{tk_cn:1},function($error$$,$tk$$){if($error$$)return $callback$$($error$$);$tk$$&&$tk$$.tk_cn===!0?(new PostBook($obj$$,[{...$obj$$}],Tdttco,function($obj$$,$callback$$){$obj$$.so_hd=$obj$$.so_ct;$obj$$.ngay_hd=$obj$$.ngay_ct;$obj$$.tien_nt=$obj$$.details.csum("tien_hang_nt")-$obj$$.details.csum("tien_ck_nt")-$obj$$.details.csum("gt_vt_du")+$obj$$.details.csum("tien_phi_nt")+($obj$$.vatvaos||[]).csum("t_thue_nt");$obj$$.tien=$obj$$.details.csum("tien_hang")-$obj$$.details.csum("tien_ck")-
18
- $obj$$.details.csum("gt_vt_du")+$obj$$.details.csum("tien_phi")+($obj$$.vatvaos||[]).csum("t_thue");$callback$$($obj$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)}):Tdttco.deleteMany({id_ct:$obj$$._id},function(){$callback$$($error$$)})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=async($_po1_i_i$jscomp$1_i$$,$obj$$,$next$$)=>{await ($obj$$.details||[]).filter($d$$=>!$d$$.tk_vt).asyncJoinModel2($obj$$.id_app,"dmvt",{where:"ma_vt",fields:["tk_vt"]});for($_po1_i_i$jscomp$1_i$$=
19
- 0;$_po1_i_i$jscomp$1_i$$<$obj$$.details.length;$_po1_i_i$jscomp$1_i$$++){var $ctcpmh_detail$jscomp$6_vatvao$$=$obj$$.details[$_po1_i_i$jscomp$1_i$$];$ctcpmh_detail$jscomp$6_vatvao$$.line=$_po1_i_i$jscomp$1_i$$;$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap_nt=($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang_nt||0)+($ctcpmh_detail$jscomp$6_vatvao$$.tien_phi_nt||0)-($ctcpmh_detail$jscomp$6_vatvao$$.tien_ck_nt||0);$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap=($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang||0)+($ctcpmh_detail$jscomp$6_vatvao$$.tien_phi||
20
- 0)-($ctcpmh_detail$jscomp$6_vatvao$$.tien_ck||0);$obj$$.ma_nt==="VND"&&($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang=$ctcpmh_detail$jscomp$6_vatvao$$.tien_hang_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_ck=$ctcpmh_detail$jscomp$6_vatvao$$.tien_ck_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_ck_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_phi=$ctcpmh_detail$jscomp$6_vatvao$$.tien_phi_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_phi_nt),
21
- $ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap=$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_thue=$ctcpmh_detail$jscomp$6_vatvao$$.tien_thue_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_thue_nt||0))}if($obj$$.vatvaos)for($_po1_i_i$jscomp$1_i$$=0;$_po1_i_i$jscomp$1_i$$<$obj$$.vatvaos.length;$_po1_i_i$jscomp$1_i$$++)$ctcpmh_detail$jscomp$6_vatvao$$=$obj$$.vatvaos[$_po1_i_i$jscomp$1_i$$],$ctcpmh_detail$jscomp$6_vatvao$$.line=
22
- $_po1_i_i$jscomp$1_i$$,$obj$$.ma_nt==="VND"&&($ctcpmh_detail$jscomp$6_vatvao$$.t_thue=$ctcpmh_detail$jscomp$6_vatvao$$.t_thue_nt);if($obj$$.ctcpmhs)for($_po1_i_i$jscomp$1_i$$=0;$_po1_i_i$jscomp$1_i$$<$obj$$.ctcpmhs.length;$_po1_i_i$jscomp$1_i$$++)$ctcpmh_detail$jscomp$6_vatvao$$=$obj$$.ctcpmhs[$_po1_i_i$jscomp$1_i$$],$ctcpmh_detail$jscomp$6_vatvao$$.line=$_po1_i_i$jscomp$1_i$$,$obj$$.ma_nt==="VND"&&($ctcpmh_detail$jscomp$6_vatvao$$.tien_cp=$ctcpmh_detail$jscomp$6_vatvao$$.tien_cp_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_cp_nt));
23
- $obj$$.id_po1&&!$obj$$.id_contract&&($_po1_i_i$jscomp$1_i$$=await po1.findOne({_id:$obj$$.id_po1,id_app:$obj$$.id_app}))&&($obj$$.id_contract=$_po1_i_i$jscomp$1_i$$.id_contract);$obj$$.id_contract?purchasecontract.findOne({_id:$obj$$.id_contract}).lean().exec(($e$$,$c$$)=>{$c$$&&($obj$$.ma_hd=$c$$.ma_hd);$next$$(null,$obj$$)}):$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);
24
- $next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){Tdttco_tt.findOne({id_hd:$obj$$._id,id_app:$obj$$.id_app},function($error$$,$ct_tt$$){if($error$$)return $next$$($error$$);$ct_tt$$?$next$$(`Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt phi\u1ebfu n\u00e0y do \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n b\u1edfi ${$ct_tt$$.ma_ct||"ch\u1ee9ng t\u1eeb"}: ${$ct_tt$$.so_ct}, ng\u00e0y ${moment($ct_tt$$.ngay_ct).format("DD/MM/YYYY")}`):$valid$$($user$$,$data$$,async function($error$$){if($error$$)return $next$$($error$$);
4
+ {};await ($obj$$.details||[]).asyncJoinModel2($obj$$.id_app,"dmvt",{where:"ma_vt",fields:["tk_dt"]});let $details_sokho$$=[...$obj$$.details];for(var $d_pk_pk_nhaps$$ of $details_sokho$$)$d_pk_pk_nhaps$$.nxt=1,$d_pk_pk_nhaps$$.tk_co=$obj$$.tk_co;$d_pk_pk_nhaps$$=($obj$$.ds_pk_nhap||[]).filter($d$$=>$d$$.ma_pk_nhap&&$d$$.sl_pk_nhap).concat(($obj$$.details||[]).filter($d$$=>$d$$.ma_pk_nhap&&$d$$.sl_pk_nhap));for(var $d$jscomp$3_pk$$ of $d_pk_pk_nhaps$$)$d_pk_pk_nhaps$$={...$d$jscomp$3_pk$$},$d_pk_pk_nhaps$$.ma_vt=
5
+ $d$jscomp$3_pk$$.ma_pk_nhap,$d_pk_pk_nhaps$$.ma_dvt=$d$jscomp$3_pk$$.ma_dvt_pk_nhap,$d_pk_pk_nhaps$$.ma_kho=$d$jscomp$3_pk$$.ma_kho_pk_nhap,$d_pk_pk_nhaps$$.nxt=1,$d_pk_pk_nhaps$$.tk_co=$obj$$.tk_co,$d_pk_pk_nhaps$$.sl_nhap=$d$jscomp$3_pk$$.sl_pk_nhap,$d_pk_pk_nhaps$$.gia_von_nt=$d$jscomp$3_pk$$.gia_von_pk_nhap_nt||0,$d_pk_pk_nhaps$$.gia_von=$d_pk_pk_nhaps$$.gia_von_nt*($obj$$.ty_gia||1),$d_pk_pk_nhaps$$.tien_nhap_nt=$d$jscomp$3_pk$$.tien_nhap_pk_nt||0,$d_pk_pk_nhaps$$.tien_nhap=$d_pk_pk_nhaps$$.tien_nhap_nt*
6
+ ($obj$$.ty_gia||1),$d_pk_pk_nhaps$$.sl_xuat=0,$d_pk_pk_nhaps$$.tien_hang_nt=$d_pk_pk_nhaps$$.tien_hang=0,$d_pk_pk_nhaps$$.tien_ck=$d_pk_pk_nhaps$$.tien_ck_nt=$d_pk_pk_nhaps$$.ty_le_ck=0,$d_pk_pk_nhaps$$.tien_phi=$d_pk_pk_nhaps$$.tien_phi_nt=0,$details_sokho$$.push($d_pk_pk_nhaps$$);$d$jscomp$3_pk$$=($obj$$.ds_pk_xuat||[]).filter($d$$=>$d$$.ma_pk_xuat&&$d$$.sl_pk_xuat).concat(($obj$$.details||[]).filter($d$$=>$d$$.ma_pk_xuat&&$d$$.sl_pk_xuat));for(var $d$$ of $d$jscomp$3_pk$$)$d$jscomp$3_pk$$={...$d$$},
7
+ $d$jscomp$3_pk$$.ma_vt=$d$$.ma_pk_xuat,$d$jscomp$3_pk$$.ma_dvt=$d$$.ma_dvt_pk_xuat,$d$jscomp$3_pk$$.ma_kho=$d$$.ma_kho_pk_xuat,$d$jscomp$3_pk$$.nxt=2,$d$jscomp$3_pk$$.tk_no=$obj$$.tk_co,$d$jscomp$3_pk$$.tk_co="",$d$jscomp$3_pk$$.sl_xuat=$d$$.sl_pk_xuat,$d$jscomp$3_pk$$.gia_von_nt=$d$$.gia_von_pk_xuat_nt||0,$d$jscomp$3_pk$$.gia_von=$d$jscomp$3_pk$$.gia_von_nt*($obj$$.ty_gia||1),$d$jscomp$3_pk$$.tien_xuat_nt=$d$$.tien_xuat_pk_nt||0,$d$jscomp$3_pk$$.tien_xuat=$d$jscomp$3_pk$$.tien_xuat_nt*($obj$$.ty_gia||
8
+ 1),$d$jscomp$3_pk$$.sl_nhap=0,$d$jscomp$3_pk$$.tien_nhap_nt=$d$jscomp$3_pk$$.tien_nhap=0,$d$jscomp$3_pk$$.tien_hang_nt=$d$jscomp$3_pk$$.tien_hang=0,$d$jscomp$3_pk$$.tien_ck=$d$jscomp$3_pk$$.tien_ck_nt=$d$jscomp$3_pk$$.ty_le_ck=0,$d$jscomp$3_pk$$.tien_phi=$d$jscomp$3_pk$$.tien_phi_nt=0,$details_sokho$$.push($d$jscomp$3_pk$$);for(let $detail$$ of $obj$$.details.filter($d$$=>$d$$.sl_vt_du))$d$$={...$detail$$,nxt:2},$d$$.ma_vt=$d$$.ma_vt_du||$d$$.ma_vt,$d$$.ma_dvt=$detail$$.ma_dvt_vt_du||$d$$.ma_dvt,
9
+ $d$$.sl_xuat=$d$$.sl_vt_du,$d$$.tien_xuat_nt=$d$$.tien_xuat=$d$$.gt_vt_du||0,$d$$.tien_hang_nt=$d$$.tien_hang=0,$d$$.tien_ck=$d$$.tien_ck_nt=$d$$.ty_le_ck=0,$d$$.tien_phi=$d$$.tien_phi_nt=0,$d$$.sl_nhap=0,$d$$.gia_von_nt=$d$$.gia_von=0,$d$$.tien_nhap=$d$$.tien_nhap_nt=0,$details_sokho$$.push($d$$);await $details_sokho$$.filter($d$$=>!$d$$.ma_dvt).asyncJoinModel2($obj$$.id_app,"dmvt",{where:"ma_vt",fields:"ma_dvt"});let $data_vatvaos$$=$obj$$.vatvaos;$data_vatvaos$$&&$data_vatvaos$$.length!=0||($data_vatvaos$$=
10
+ ($obj$$.details||[]).filter($d$$=>$d$$.ma_thue),$data_vatvaos$$=await $data_vatvaos$$.asyncGroupBy("ma_thue ma_hoa_don ky_hieu_hoa_don ma_tc so_hd so_seri ngay_hd tk_thue_no".split(" "),"tien_hang_nt tien_hang tien_ck tien_ck_nt tien_thue tien_thue_nt".split(" ")),$data_vatvaos$$.forEach($v$$=>{$v$$.t_tien_nt=$v$$.tien_hang_nt-$v$$.tien_ck_nt;$v$$.t_tien=$v$$.t_tien_nt*$obj$$.ty_gia;$v$$.t_thue_nt=$v$$.tien_thue_nt;$v$$.t_thue=$v$$.t_thue_nt*$obj$$.ty_gia;$v$$.t_hd_nt=$v$$.t_tien_nt+$v$$.t_thue_nt;
11
+ $v$$.t_hd=$v$$.t_tien+$v$$.t_thue;$v$$.tk_du_thue=$obj$$.tk_co}),await $data_vatvaos$$.filter($d$$=>!$d$$.tk_thue_no).asyncJoinModel2($obj$$.id_app,"vat",{where:"ma_thue",fields:"tk_thue_no"}));async.series({post_sokho:function($callback$$){async.series({kt:$callback$$=>{$options$$.not_post_sokho?$callback$$():(new PostSokho($obj$$,[...$details_sokho$$],async($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.nxt=$detail$$.nxt||1;$callback$$($detail$$)})).run(function(){$callback$$()})},
12
+ tt:$callback$$=>{$options$$.post_sokhott?(new PostBook($obj$$,[...$details_sokho$$],Sokhott,async($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.nxt=$detail$$.nxt||1;$callback$$($detail$$)})).run(function(){$callback$$()}):$callback$$()}},($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},post_vat_vao:function($callback$$){setImmediate(async()=>{(new PostBook($obj$$,_.cloneDeep($data_vatvaos$$),Vatvao,($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.ten_vt=$detail$$.ten_vt||$obj$$.dien_giai||
13
+ ($obj$$.details||[]).map($d$$=>$d$$.ten_vt).join(", ");$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})},post_gia_ban:function($callback$$){setImmediate(async()=>{var $congthucs_ma_vts_query$$=$obj$$.details.filter($r$$=>$r$$.gia_von_nt).map($d$$=>$d$$.ma_vt);$congthucs_ma_vts_query$$={id_app:$obj$$.id_app,ma_vt:{$in:$congthucs_ma_vts_query$$}};let $hieu_luc_den$$={$gte:$obj$$.ngay_ct};$congthucs_ma_vts_query$$.hieu_luc_tu={$lte:$obj$$.ngay_ct};$congthucs_ma_vts_query$$.hieu_luc_den=
14
+ $hieu_luc_den$$;$congthucs_ma_vts_query$$=await global.getModel("congthuctinhgiaban").find($congthucs_ma_vts_query$$).lean();if($congthucs_ma_vts_query$$.length<0)return $callback$$();$congthucs_ma_vts_query$$.forEach($c$$=>{let $d$$=$obj$$.details.find($d$$=>$d$$.ma_vt==$c$$.ma_vt);$d$$&&($c$$.ma_dvt=$d$$.ma_dvt,$c$$.hieu_luc_tu=$obj$$.ngay_ct,$c$$.ma_nt=$obj$$.ma_nt,$c$$.ty_gia=$obj$$.ty_gia,$c$$.gia_ban_le=Math.round($d$$.gia_von_nt*$c$$.ty_le_lai/100)+$d$$.gia_von_nt)});(new PostBook({_id:$obj$$._id,
15
+ id_app:$obj$$.id_app},$congthucs_ma_vts_query$$.filter($r$$=>$r$$.gia_ban_le),Dmgiaban)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})},post_socai:function($callback$$){const $details_sc$$=[];_.cloneDeep($data_vatvaos$$).forEach(function($v$$){$v$$={...$v$$};$v$$.tk_no=$v$$.tk_thue_no;$v$$.tk_co=$v$$.tk_du_thue;$v$$.tien_nt=$v$$.t_thue_nt;$v$$.tien=$v$$.t_thue;$v$$.ma_kh=$v$$.ma_kh_cn||$v$$.ma_kh;$details_sc$$.push($v$$)});$obj$$.details.forEach(function($d$jscomp$15_detail$$){$d$jscomp$15_detail$$=
16
+ {...$d$jscomp$15_detail$$};$d$jscomp$15_detail$$.tk_no=$d$jscomp$15_detail$$.tk_vt;$d$jscomp$15_detail$$.ma_kh||($d$jscomp$15_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$15_detail$$.tk_co=$obj$$.tk_co;$d$jscomp$15_detail$$.tien_nt=$d$jscomp$15_detail$$.tien_nhap_nt;$d$jscomp$15_detail$$.tien=$d$jscomp$15_detail$$.tien_nhap;$details_sc$$.push($d$jscomp$15_detail$$)});for(let $detail$$ of $obj$$.details.filter($d$$=>$d$$.gt_vt_du)){const $vt_du$$={...$detail$$,sl_nhap:0};$vt_du$$.gia_von_nt=$vt_du$$.gia_von=
17
+ 0;$vt_du$$.tien_nhap=$vt_du$$.tien_nhap_nt=0;$detail$$.tk_no=$detail$$.tk_co;$detail$$.ma_kh||($detail$$.ma_kh=$obj$$.ma_kh);$detail$$.tk_co=$detail$$.tk_dt_vt_du||$detail$$.tk_dt;$detail$$.tien_nt=$detail$$.gt_vt_du;$detail$$.tien=$detail$$.gt_vt_du;$details_sc$$.push($vt_du$$)}(new PostSocai($obj$$,$details_sc$$,void 0,void 0,$_options$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_tdttco:function($callback$$){account.findOne({tk:$obj$$.tk_co,id_app:$obj$$.id_app},{tk_cn:1},function($error$$,
18
+ $tk$$){if($error$$)return $callback$$($error$$);$tk$$&&$tk$$.tk_cn===!0?(new PostBook($obj$$,[{...$obj$$}],Tdttco,function($obj$$,$callback$$){$obj$$.so_hd=$obj$$.so_ct;$obj$$.ngay_hd=$obj$$.ngay_ct;$obj$$.tien_nt=$obj$$.details.csum("tien_hang_nt")-$obj$$.details.csum("tien_ck_nt")-$obj$$.details.csum("gt_vt_du")+$obj$$.details.csum("tien_phi_nt")+($obj$$.vatvaos||[]).csum("t_thue_nt");$obj$$.tien=$obj$$.details.csum("tien_hang")-$obj$$.details.csum("tien_ck")-$obj$$.details.csum("gt_vt_du")+$obj$$.details.csum("tien_phi")+
19
+ ($obj$$.vatvaos||[]).csum("t_thue");$callback$$($obj$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)}):Tdttco.deleteMany({id_ct:$obj$$._id},function(){$callback$$($error$$)})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=async($_po1_i_i$jscomp$1_i$$,$obj$$,$next$$)=>{await ($obj$$.details||[]).filter($d$$=>!$d$$.tk_vt).asyncJoinModel2($obj$$.id_app,"dmvt",{where:"ma_vt",fields:["tk_vt"]});for($_po1_i_i$jscomp$1_i$$=0;$_po1_i_i$jscomp$1_i$$<$obj$$.details.length;$_po1_i_i$jscomp$1_i$$++){var $ctcpmh_detail$jscomp$6_vatvao$$=
20
+ $obj$$.details[$_po1_i_i$jscomp$1_i$$];$ctcpmh_detail$jscomp$6_vatvao$$.line=$_po1_i_i$jscomp$1_i$$;$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap_nt=($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang_nt||0)+($ctcpmh_detail$jscomp$6_vatvao$$.tien_phi_nt||0)-($ctcpmh_detail$jscomp$6_vatvao$$.tien_ck_nt||0);$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap=($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang||0)+($ctcpmh_detail$jscomp$6_vatvao$$.tien_phi||0)-($ctcpmh_detail$jscomp$6_vatvao$$.tien_ck||0);$obj$$.ma_nt==="VND"&&
21
+ ($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang=$ctcpmh_detail$jscomp$6_vatvao$$.tien_hang_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_hang_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_ck=$ctcpmh_detail$jscomp$6_vatvao$$.tien_ck_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_ck_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_phi=$ctcpmh_detail$jscomp$6_vatvao$$.tien_phi_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_phi_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap=$ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap_nt=
22
+ Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_nhap_nt),$ctcpmh_detail$jscomp$6_vatvao$$.tien_thue=$ctcpmh_detail$jscomp$6_vatvao$$.tien_thue_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_thue_nt||0))}if($obj$$.vatvaos)for($_po1_i_i$jscomp$1_i$$=0;$_po1_i_i$jscomp$1_i$$<$obj$$.vatvaos.length;$_po1_i_i$jscomp$1_i$$++)$ctcpmh_detail$jscomp$6_vatvao$$=$obj$$.vatvaos[$_po1_i_i$jscomp$1_i$$],$ctcpmh_detail$jscomp$6_vatvao$$.line=$_po1_i_i$jscomp$1_i$$,$obj$$.ma_nt==="VND"&&($ctcpmh_detail$jscomp$6_vatvao$$.t_thue=
23
+ $ctcpmh_detail$jscomp$6_vatvao$$.t_thue_nt);if($obj$$.ctcpmhs)for($_po1_i_i$jscomp$1_i$$=0;$_po1_i_i$jscomp$1_i$$<$obj$$.ctcpmhs.length;$_po1_i_i$jscomp$1_i$$++)$ctcpmh_detail$jscomp$6_vatvao$$=$obj$$.ctcpmhs[$_po1_i_i$jscomp$1_i$$],$ctcpmh_detail$jscomp$6_vatvao$$.line=$_po1_i_i$jscomp$1_i$$,$obj$$.ma_nt==="VND"&&($ctcpmh_detail$jscomp$6_vatvao$$.tien_cp=$ctcpmh_detail$jscomp$6_vatvao$$.tien_cp_nt=Math.roundBy($ctcpmh_detail$jscomp$6_vatvao$$.tien_cp_nt));$obj$$.id_po1&&!$obj$$.id_contract&&($_po1_i_i$jscomp$1_i$$=
24
+ await po1.findOne({_id:$obj$$.id_po1,id_app:$obj$$.id_app}))&&($obj$$.id_contract=$_po1_i_i$jscomp$1_i$$.id_contract);$obj$$.id_contract?purchasecontract.findOne({_id:$obj$$.id_contract}).lean().exec(($e$$,$c$$)=>{$c$$&&($obj$$.ma_hd=$c$$.ma_hd);$next$$(null,$obj$$)}):$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=
25
+ function($user$$,$data$$,$obj$$,$next$$){Tdttco_tt.findOne({id_hd:$obj$$._id,id_app:$obj$$.id_app},function($error$$,$ct_tt$$){if($error$$)return $next$$($error$$);$ct_tt$$?$next$$(`Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt phi\u1ebfu n\u00e0y do \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n b\u1edfi ${$ct_tt$$.ma_ct||"ch\u1ee9ng t\u1eeb"}: ${$ct_tt$$.so_ct}, ng\u00e0y ${moment($ct_tt$$.ngay_ct).format("DD/MM/YYYY")}`):$valid$$($user$$,$data$$,async function($error$$){if($error$$)return $next$$($error$$);
25
26
  await Dmgiaban.deleteMany({id_app:$obj$$.id_app,id_ct:$obj$$._id.toString()});$next$$(null,$data$$,$obj$$)})})};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){Tdttco_tt.findOne({id_hd:$obj$$._id,id_app:$obj$$.id_app},async function($error$$,$ct_tt$$){if($error$$)return $next$$($error$$);$ct_tt$$?$next$$(`Kh\u00f4ng th\u1ec3 xo\u00e1 phi\u1ebfu n\u00e0y do \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n b\u1edfi ${$ct_tt$$.ma_ct||"ch\u1ee9ng t\u1eeb"}: ${$ct_tt$$.so_ct}, ng\u00e0y ${moment($ct_tt$$.ngay_ct).format("DD/MM/YYYY")}`):
26
27
  (await Dmgiaban.deleteMany({id_app:$obj$$.id_app,id_ct:$obj$$._id.toString()}),$next$$(null,$obj$$))})};$contr_router$$.on("saved",function($obj$$){$obj$$.id_po1&&po1.updateMany({_id:$obj$$.id_po1,id_app:$obj$$.id_app},{id_pn1:$obj$$._id.toString(),trang_thai:"7"},($e$$,$rs$$)=>{console.log("update po1",$obj$$.id_po1,$rs$$);po1.findOne({_id:$obj$$.id_po,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.PO1,$e$$=>{$e$$&&console.error($e$$)})})})});$contr_router$$.on("deleted",
27
28
  function($obj$$){$obj$$.id_po1&&po1.updateMany({_id:$obj$$.id_po1,id_app:$obj$$.id_app},{id_pn1:"",trang_thai:"3"},()=>{po1.updateMany({_id:$obj$$.id_po1,id_app:$obj$$.id_app,id_pnh:{$nin:["",null,void 0]}},{trang_thai:"6"},($e$$,$rs$$)=>{console.log("update po1",$rs$$);po1.findOne({_id:$obj$$.id_po1,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.PO1,$e$$=>{$e$$&&console.error($e$$)})})})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=
@@ -1,13 +1,13 @@
1
1
  const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Tdttco=global.getModel("tdttco"),Tdttco_tt=global.getModel("tdttco_tt"),Vatvao=global.getModel("vatvao"),account=global.getModel("account"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),model=global.getModel("pn2"),controller=require("../../controllers/controller"),trangthai=global.getModel("trangthai"),async=require("async"),
2
2
  ma_ct="PN2",moment=require("moment");
3
3
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,kiem_tra_han_muc_cong_no:!0,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();$contr_router$$.post=async function($obj$$,$fn$$,$_options$$={}){$fn$$||=function(){};$obj$$.toObject&&($obj$$=$obj$$.toObject());let $data_vatvaos$$=$obj$$.vatvaos;$data_vatvaos$$&&$data_vatvaos$$.length!=0||($data_vatvaos$$=($obj$$.details||[]).filter($d$$=>$d$$.ma_thue),$data_vatvaos$$=await $data_vatvaos$$.asyncGroupBy("ma_thue ma_hoa_don ky_hieu_hoa_don ma_tc so_hd so_seri ngay_hd".split(" "),
4
- ["tien_nt","tien","tien_thue","tien_thue_nt"]),$data_vatvaos$$.forEach($v$$=>{$v$$.t_tien_nt=$v$$.tien_nt;$v$$.t_tien=$v$$.t_tien_nt*$obj$$.ty_gia;$v$$.t_thue_nt=$v$$.tien_thue_nt;$v$$.t_thue=$v$$.t_thue_nt*$obj$$.ty_gia;$v$$.t_hd_nt=$v$$.t_tien_nt+$v$$.t_thue_nt;$v$$.t_hd=$v$$.t_tien+$v$$.t_thue;$v$$.tk_du_thue=$obj$$.tk_co}),await $data_vatvaos$$.filter($d$$=>!$d$$.tk_thue_no).asyncJoinModel2($obj$$.id_app,"vat",{where:"ma_thue",fields:"tk_thue_no"}));async.series({post_vatvao:function($callback$$){setImmediate(async()=>
5
- {(new PostBook($obj$$,$data_vatvaos$$,Vatvao,($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.ten_vt=$detail$$.ten_vt||$obj$$.dien_giai||($obj$$.details||[]).filter($d$$=>$d$$.dien_giai).map($d$$=>$d$$.dien_giai).join(", ");$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})},post_socai:function($callback$$){const $details_sc$$=[];$data_vatvaos$$.forEach(function($v$$){$v$$.toObject&&($v$$=$v$$.toObject());$v$$={...$v$$};$v$$.tk_no=$v$$.tk_thue_no;$v$$.tk_co=
6
- $v$$.tk_du_thue;$v$$.tien_nt=$v$$.t_thue_nt;$v$$.tien=$v$$.t_thue;$v$$.ma_kh=$v$$.ma_kh_cn||$v$$.ma_kh;$details_sc$$.push($v$$)});$obj$$.details.forEach(function($d$jscomp$4_detail$$){$d$jscomp$4_detail$$.toObject&&($d$jscomp$4_detail$$=$d$jscomp$4_detail$$.toObject());$d$jscomp$4_detail$$={...$d$jscomp$4_detail$$};$d$jscomp$4_detail$$.ma_kh||($d$jscomp$4_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$4_detail$$.tk_co=$obj$$.tk_co;$details_sc$$.push($d$jscomp$4_detail$$)});(new PostSocai($obj$$,$details_sc$$,
7
- void 0,void 0,$_options$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_tdttco:function($callback$$){account.findOne({tk:$obj$$.tk_co,id_app:$obj$$.id_app},{tk_cn:1},function($error$$,$tk$$){if($error$$)return $callback$$($error$$);$tk$$&&$tk$$.tk_cn===!0?(new PostBook($obj$$,[{...$obj$$}],Tdttco,function($obj$$,$callback$$){$obj$$.so_hd=$obj$$.so_ct;$obj$$.ngay_hd=$obj$$.ngay_ct;$obj$$.tien_nt=$obj$$.details.csum("tien_nt")-$obj$$.details.csum("tien_ck_nt")+($obj$$.vatvaos||[]).csum("t_thue_nt");
8
- $obj$$.tien=$obj$$.details.csum("tien")-$obj$$.details.csum("tien_ck")+($obj$$.vatvaos||[]).csum("t_thue");$callback$$($obj$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)}):Tdttco.deleteMany({id_ct:$obj$$._id},function(){$callback$$($error$$)})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=function($i_i$$,$obj$$,$next$$){for($i_i$$=0;$i_i$$<$obj$$.details.length;$i_i$$++){var $detail$jscomp$2_vatvao$$=$obj$$.details[$i_i$$];$detail$jscomp$2_vatvao$$.line=$i_i$$;$obj$$.ma_nt==
9
- "VND"&&($detail$jscomp$2_vatvao$$.tien=Math.roundBy($detail$jscomp$2_vatvao$$.tien_nt,0),$detail$jscomp$2_vatvao$$.tien_thue=Math.roundBy($detail$jscomp$2_vatvao$$.tien_thue_nt,0))}if($obj$$.vatvaos)for($i_i$$=0;$i_i$$<$obj$$.vatvaos.length;$i_i$$++)$detail$jscomp$2_vatvao$$=$obj$$.vatvaos[$i_i$$],$detail$jscomp$2_vatvao$$.line=$i_i$$,$obj$$.ma_nt=="VND"&&($detail$jscomp$2_vatvao$$.t_thue=Math.roundBy($detail$jscomp$2_vatvao$$.t_thue_nt,0));$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,
10
- $obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){Tdttco_tt.findOne({id_hd:$obj$$._id},function($error$$,$ct_tt$$){if($error$$)return $next$$($error$$);$ct_tt$$?$next$$(`Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt phi\u1ebfu n\u00e0y do \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n b\u1edfi ${$ct_tt$$.ma_ct||"ch\u1ee9ng t\u1eeb"}: ${$ct_tt$$.so_ct}, ng\u00e0y ${moment($ct_tt$$.ngay_ct).format("DD/MM/YYYY")}`):
4
+ ["tien_nt","tien","tien_thue","tien_thue_nt"]),$data_vatvaos$$.forEach($v$$=>{$v$$.t_tien_nt=$v$$.tien_nt;$v$$.t_tien=$v$$.t_tien_nt*$obj$$.ty_gia;$v$$.t_thue_nt=$v$$.tien_thue_nt;$v$$.t_thue=$v$$.t_thue_nt*$obj$$.ty_gia;$v$$.t_hd_nt=$v$$.t_tien_nt+$v$$.t_thue_nt;$v$$.t_hd=$v$$.t_tien+$v$$.t_thue;$v$$.tk_du_thue=$obj$$.tk_co}),await $data_vatvaos$$.filter($d$$=>!$d$$.tk_thue_no).asyncJoinModel2($obj$$.id_app,"vat",{where:"ma_thue",fields:"tk_thue_no"}));async.series({post_vatvao:function($callback$$){(new PostBook($obj$$,
5
+ $data_vatvaos$$,Vatvao,($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.ten_vt=$detail$$.ten_vt||$obj$$.dien_giai||($obj$$.details||[]).filter($d$$=>$d$$.dien_giai).map($d$$=>$d$$.dien_giai).join(", ");$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_socai:function($callback$$){const $details_sc$$=[];$data_vatvaos$$.forEach(function($v$$){$v$$.toObject&&($v$$=$v$$.toObject());$v$$={...$v$$};$v$$.tk_no=$v$$.tk_thue_no;$v$$.tk_co=$v$$.tk_du_thue;$v$$.tien_nt=
6
+ $v$$.t_thue_nt;$v$$.tien=$v$$.t_thue;$v$$.ma_kh=$v$$.ma_kh_cn||$v$$.ma_kh;$details_sc$$.push($v$$)});$obj$$.details.forEach(function($d$jscomp$4_detail$$){$d$jscomp$4_detail$$.toObject&&($d$jscomp$4_detail$$=$d$jscomp$4_detail$$.toObject());$d$jscomp$4_detail$$={...$d$jscomp$4_detail$$};$d$jscomp$4_detail$$.ma_kh||($d$jscomp$4_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$4_detail$$.tk_co=$obj$$.tk_co;$details_sc$$.push($d$jscomp$4_detail$$)});(new PostSocai($obj$$,$details_sc$$,void 0,void 0,$_options$$)).run(function($e$$,
7
+ $rs$$){$callback$$($e$$,$rs$$)})},post_tdttco:function($callback$$){account.findOne({tk:$obj$$.tk_co,id_app:$obj$$.id_app},{tk_cn:1},function($error$$,$tk$$){if($error$$)return $callback$$($error$$);$tk$$&&$tk$$.tk_cn===!0?(new PostBook($obj$$,[{...$obj$$}],Tdttco,function($obj$$,$callback$$){$obj$$.so_hd=$obj$$.so_ct;$obj$$.ngay_hd=$obj$$.ngay_ct;$obj$$.tien_nt=$obj$$.details.csum("tien_nt")-$obj$$.details.csum("tien_ck_nt")+($obj$$.vatvaos||[]).csum("t_thue_nt");$obj$$.tien=$obj$$.details.csum("tien")-
8
+ $obj$$.details.csum("tien_ck")+($obj$$.vatvaos||[]).csum("t_thue");$callback$$($obj$$)})).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)}):Tdttco.deleteMany({id_ct:$obj$$._id},function(){$callback$$($error$$)})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=function($i_i$$,$obj$$,$next$$){for($i_i$$=0;$i_i$$<$obj$$.details.length;$i_i$$++){var $detail$jscomp$2_vatvao$$=$obj$$.details[$i_i$$];$detail$jscomp$2_vatvao$$.line=$i_i$$;$obj$$.ma_nt=="VND"&&($detail$jscomp$2_vatvao$$.tien=
9
+ Math.roundBy($detail$jscomp$2_vatvao$$.tien_nt,0),$detail$jscomp$2_vatvao$$.tien_thue=Math.roundBy($detail$jscomp$2_vatvao$$.tien_thue_nt,0))}if($obj$$.vatvaos)for($i_i$$=0;$i_i$$<$obj$$.vatvaos.length;$i_i$$++)$detail$jscomp$2_vatvao$$=$obj$$.vatvaos[$i_i$$],$detail$jscomp$2_vatvao$$.line=$i_i$$,$obj$$.ma_nt=="VND"&&($detail$jscomp$2_vatvao$$.t_thue=Math.roundBy($detail$jscomp$2_vatvao$$.t_thue_nt,0));$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||
10
+ ($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){Tdttco_tt.findOne({id_hd:$obj$$._id},function($error$$,$ct_tt$$){if($error$$)return $next$$($error$$);$ct_tt$$?$next$$(`Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt phi\u1ebfu n\u00e0y do \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n b\u1edfi ${$ct_tt$$.ma_ct||"ch\u1ee9ng t\u1eeb"}: ${$ct_tt$$.so_ct}, ng\u00e0y ${moment($ct_tt$$.ngay_ct).format("DD/MM/YYYY")}`):
11
11
  $valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})})};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){Tdttco_tt.findOne({id_hd:$obj$$._id},function($error$$,$ct_tt$$){if($error$$)return $next$$($error$$);$ct_tt$$?$next$$(`Kh\u00f4ng th\u1ec3 xo\u00e1 phi\u1ebfu n\u00e0y do \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n b\u1edfi ${$ct_tt$$.ma_ct||"ch\u1ee9ng t\u1eeb"}: ${$ct_tt$$.so_ct}, ng\u00e0y ${moment($ct_tt$$.ngay_ct).format("DD/MM/YYYY")}`):
12
12
  $next$$(null,$obj$$)})};$contr_router$$.view=function($user$$,$items$$,$fn$$){let $id_app$$=$user$$.current_id_app;async.series({kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,{where:"ma_dt",fields:"ten_dt"},function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>
13
13
  $item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tien=0;$r$$.t_tien_nt=0;$r$$.t_thue_vao=0;$r$$.t_thue_vao_nt=0;$r$$.details&&($r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"));$r$$.vatvaos&&$r$$.vatvaos.length>0?($r$$.t_thue_vao=$r$$.vatvaos.csum("t_thue"),$r$$.t_thue_vao_nt=$r$$.vatvaos.csum("t_thue_nt")):
@@ -1,6 +1,6 @@
1
1
  const _global=require("../global"),async=require("async"),model=global.getModel("app"),Participant=global.getModel("participant"),fs=require("fs"),JSZip=require("jszip");require("../libs/prototypes.js");const _=require("lodash"),{parentPort,workerData}=require("worker_threads"),{ObjectId}=require("mongodb");let connect2Db=!1;
2
- const coll_ex="user.js app.js dvcs socais socaitmps vatras vatvaos tdttnos tdttcos tdttno_tts tdttco_tts files folders notes accounts dmdvts currencies dmvts sokhos sokhotts sokhokhongtons sokhocapphats cdvts dmnvs cdnpheps bangtinhluongs cdkhs cdkts cddts cddiems sophanbokhs sotinhkhs qtsdieuchinhs hspbts dmqcts pkts pkcs dmkcs calllogs".split(" "),restoreColl=async($id_app$$,$dvcs_pairs$$,$data$$,$colls$$)=>(await Promise.all($colls$$.map($col_name$$=>{console.log("restore ",$col_name$$,"...");
3
- return new Promise(($resolve$$,$reject$$)=>{let $rows$$=$data$$[$col_name$$]||[];$rows$$.forEach(($r$$,$index$$)=>{let $time$$=(new Date).getTime();$r$$.index=$index$$+$time$$;$r$$.line=$index$$+$time$$;$r$$.nh_dk=$index$$+$time$$});mongoose.connection.db.collection($col_name$$,($err$$,$coll$$)=>{if($err$$)return $reject$$($err$$);if(!$coll$$)return console.error("can't insert data, collection",$col_name$$,"is not exists"),$resolve$$([]);$coll$$.deleteMany({id_app:$id_app$$},$e$$=>{if($e$$)return $reject$$($e$$);
2
+ const coll_ex="user.js app.js dvcs socais socaitmps vatras vatvaos tdttnos tdttcos tdttno_tts tdttco_tts files folders notes accounts dmdvts currencies dmvts sokhos sokhotts sokhokhongtons sokhocapphats cdvts dmnvs cdnpheps bangtinhluongs cdkhs cdkts cddts cddiems sophanbokhs sotinhkhs qtsdieuchinhs hspbts dmqcts pkts pkcs dmkcs calllogs".split(" "),restoreColl=async($id_app$$,$dvcs_pairs$$,$data$$,$colls$$)=>(await Promise.all($colls$$.map($col_name$$=>{console.log("[restoreApp] restore ",$col_name$$,
3
+ "...");return new Promise(($resolve$$,$reject$$)=>{let $rows$$=$data$$[$col_name$$]||[];$rows$$.forEach(($r$$,$index$$)=>{let $time$$=(new Date).getTime();$r$$.index=$index$$+$time$$;$r$$.line=$index$$+$time$$;$r$$.nh_dk=$index$$+$time$$});mongoose.connection.db.collection($col_name$$,($err$$,$coll$$)=>{if($err$$)return $reject$$($err$$);if(!$coll$$)return console.error("can't insert data, collection",$col_name$$,"is not exists"),$resolve$$([]);$coll$$.deleteMany({id_app:$id_app$$},$e$$=>{if($e$$)return $reject$$($e$$);
4
4
  if($rows$$.length===0)return $resolve$$([]);insert($col_name$$,$coll$$,$rows$$,$id_app$$,$dvcs_pairs$$).then($pairs$$=>{$resolve$$($pairs$$)}).catch($e$$=>{$reject$$($e$$)})})})})}))).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),insertOne=($col_name$$,$id_app$$,$coll$$,$rows$$,$dvcs_pairs$$=[],$update_book$$=!0)=>new Promise(($resolve$$,$reject$$)=>{async.mapSeries($rows$$,($row$$,$callback$$)=>{let $old_id$$=$row$$._id;delete $row$$._id;for(let $key$$ in $row$$)$row$$[$key$$]&&_.isString($row$$[$key$$])&&
5
5
  $key$$.indexOf("user")<0&&($key$$.indexOf("ngay_")>=0||$key$$.indexOf("date")>=0)&&($row$$[$key$$]=new Date($row$$[$key$$]));$row$$.id_app=$id_app$$;$coll$$.insertOne($row$$,async($e$$,$pair_rs$$)=>{if($e$$)return $callback$$($e$$);$e$$=$pair_rs$$.insertedId.toString();$pair_rs$$={old_id:$old_id$$,new_id:$e$$};$update_book$$&&(global.getModel("socai").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),global.getModel("socaitmp").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),
6
6
  global.getModel("sokho").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),global.getModel("sokhott").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),global.getModel("sokhocapphat").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),global.getModel("sokhokhongton").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),global.getModel("vatra").updateMany({id_app:$row$$.id_app,id_ct:$old_id$$},{id_ct:$e$$}),global.getModel("vatvao").updateMany({id_app:$row$$.id_app,
@@ -11,13 +11,14 @@ id_ts:$old_id$$},{id_ts:$e$$}),global.getModel("hspbts").updateMany({id_app:$row
11
11
  {ma_nvt4:$e$$})),$col_name$$.indexOf("customer")>=0&&global.getModel("calllog").updateMany({id_app:$row$$.id_app,id_kh:$old_id$$},{id_kh:$e$$}));$callback$$(null,$pair_rs$$)})},async($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);await Promise.all($dvcs_pairs$$.map($pair$$=>(async()=>{$coll$$.updateMany({id_app:$id_app$$,ma_dvcs:$pair$$.old_id},{$set:{ma_dvcs:$pair$$.new_id}},()=>{console.log("updated dvcs",$col_name$$,$pair$$)})})()));$resolve$$($rs$$)})}),insert=($col_name$$,$coll$$,$rows$$,$id_app$$,
12
12
  $dvcs_pairs$$)=>{$rows$$=$rows$$.map($row$$=>{delete $row$$.__v;delete $row$$.pkey;$row$$.id_app=$id_app$$;return $row$$});return $col_name$$==="socais"||$col_name$$==="sokhos"||$col_name$$==="sokhott"||$col_name$$==="vatras"||$col_name$$==="vatvaos"||$col_name$$==="dvcs"?insertOne($col_name$$,$id_app$$,$coll$$,$rows$$,$dvcs_pairs$$,!1):insertOne($col_name$$,$id_app$$,$coll$$,$rows$$,$dvcs_pairs$$,!0)},restore=$message$$=>{if($message$$.configs&&_.isString($message$$.configs))try{$message$$.configs=
13
13
  JSON.parse($message$$.configs)}catch($e$$){delete $message$$.configs,console.info($e$$)}const $configs$$=$message$$.configs||require("../configs");connect2Db||(mongoose.connect($configs$$.database.url,{useNewUrlParser:!0}),connect2Db=!0);let $id_app$$=$message$$.id,$user$$=$message$$.user,$fileZip$$=$message$$.file;model.findOne({_id:$id_app$$}).lean().then(async $app$$=>{if(!$app$$)return parentPort.postMessage({error:"C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i"});const $par$$=await Participant.findOne({email:$user$$,
14
- id_app:$id_app$$,admin:!0});if($app$$.user_created!==$user$$&&!$par$$)return parentPort.postMessage({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"});fs.readFile($fileZip$$,($err$$,$dataZip$$)=>{if($err$$)return parentPort.postMessage({error:$err$$});try{JSZip.loadAsync($dataZip$$).then(function($zip$$){return $zip$$.file("backup.json").async("string")}).then($string_data$$=>{if($string_data$$){let $data$$=JSON.parse($string_data$$),$dvcs_pairs$$;async.series({app:$callback$$=>
15
- {console.log("[restoreApp] restore app...");let $appInfo$$=$data$$["app.js"];$appInfo$$?(delete $appInfo$$._id,delete $appInfo$$.__v,model.updateOne({_id:$id_app$$},$appInfo$$,$e$$=>{if($e$$)return $callback$$($e$$);$callback$$()})):$callback$$()},dvcs:$callback$$=>{async.mapSeries(coll_ex,($coll$$,$callback$$)=>{let $colls$$=Object.keys($data$$).filter($k$$=>$k$$==$coll$$);restoreColl($id_app$$,$dvcs_pairs$$,$data$$,$colls$$).then($pairs$$=>{$coll$$=="dvcs"&&($dvcs_pairs$$=$pairs$$);async.map($pairs$$,
16
- ($pair$$,$cb$$)=>{setImmediate(()=>{$coll$$=="dvcs"&&($string_data$$=$string_data$$.split($pair$$.old_id).join($pair$$.new_id));$cb$$()})},()=>{$callback$$()})}).catch($e$$=>{$callback$$($e$$)})},$e$$=>{$callback$$($e$$)})},data:$callback$$=>{let $colls$$=Object.keys($data$$).filter($k$$=>coll_ex.indexOf($k$$)<0);restoreColl($id_app$$,$dvcs_pairs$$,$data$$,$colls$$).then($pairs$$=>{console.log("[restoreApp] inserted data, begin fix new _id...",$pairs$$.length);let $_data_goc$$=JSON.parse($string_data$$),
17
- $colls$$=Object.keys($_data_goc$$).filter($k$$=>coll_ex.indexOf($k$$)<0),$data_replace$$={};$colls$$.forEach($c$$=>{$data_replace$$[$c$$]=($_data_goc$$[$c$$]||[]).map($r$$=>JSON.stringify($r$$))});async.mapSeries($pairs$$,($pair$$,$cb$$)=>{setImmediate(()=>{$colls$$.forEach($c$$=>{console.log("[restoreApp] update pair",$pair$$,$c$$);$data_replace$$[$c$$]=$data_replace$$[$c$$].map($r$$=>$r$$.indexOf($pair$$.old_id)<0?$r$$:$r$$.split($pair$$.old_id).join($pair$$.new_id))});$cb$$()})},()=>{async.map($colls$$,
18
- ($col_name$$,$callback3$$)=>{const $rows$$=$data_replace$$[$col_name$$];console.log("[restoreApp] update collection",$col_name$$,$rows$$.length,"rows");$rows$$.length>0?mongoose.connection.db.collection($col_name$$,($err$$,$coll$$)=>{if($err$$)return $callback3$$($err$$);if(!$coll$$)return console.error("[restoreApp] can't update data. collection",$col_name$$,"is not exists"),$callback3$$();async.map($rows$$,($_row$$,$callback$$)=>{setImmediate(()=>{let $row$$=JSON.parse($_row$$);delete $row$$.__v;
19
- delete $row$$.pkey;$row$$.id_app=$id_app$$;let $_id$$=ObjectId($row$$._id);delete $row$$._id;for(let $key$$ in $row$$)$row$$[$key$$]&&_.isString($row$$[$key$$])&&$key$$.indexOf("user")<0&&($key$$.indexOf("ngay_")>=0||$key$$.indexOf("date")>=0)&&($row$$[$key$$]=new Date($row$$[$key$$]));$coll$$.updateOne({_id:$_id$$,id_app:$id_app$$},{$set:$row$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);console.log("[restoreApp] updated",$col_name$$,$rs$$.matchedCount,$rs$$.modifiedCount,$rs$$.upsertedId);
20
- $callback$$()})})},$e$$=>{$e$$||console.log("[restoreApp] updated collection",$col_name$$,"successfull");$callback3$$($e$$)})}):$callback3$$()},$e$$=>{$e$$||console.log("[restoreApp] all collections was restore successful");$callback$$($e$$)})})}).catch($e$$=>{$callback$$($e$$)})}},$e$$=>{if($e$$)return console.error("[restoreApp] Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i:",$e$$),parentPort.postMessage({error:"Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i: "+$e$$.message||
21
- $e$$.error||$e$$,id_task:$message$$.id_task});console.log("[restoreApp] database was restore successful");parentPort.postMessage({result:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 kh\u00f4i ph\u1ee5c d\u1eef li\u1ec7u th\u00e0nh c\u00f4ng",id_task:$message$$.id_task})})}else return parentPort.postMessage({error:"File l\u01b0u tr\u1eef kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u",id_task:$message$$.id_task})})}catch($e$$){return console.error("[restoreApp]",$e$$),parentPort.postMessage({error:"Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i: "+
22
- $e$$.message||$e$$.error||$e$$,id_task:$message$$.id_task})}})}).catch($e$$=>{$e$$&&parentPort.postMessage({error:$e$$})})};parentPort.on("message",$msg$$=>{if($msg$$){if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}restore($msg$$)}else parentPort.postMessage({error:"msg is not valid"})});
23
- 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$$.id&&$msg$$.findOne&&restore($msg$$)})();setInterval(()=>{parentPort.postMessage("pong")},5E3);
14
+ id_app:$id_app$$,admin:!0});if($app$$.user_created!==$user$$&&!$par$$)return parentPort.postMessage({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"});console.lgo("\ud83d\udd25[restoreApp] b\u1eaft \u0111\u1ea7u restore d\u1eef li\u1ec7u cho c\u00f4ng ty:",$app$$.name,$fileZip$$);fs.readFile($fileZip$$,($err$$,$dataZip$$)=>{if($err$$)return parentPort.postMessage({error:$err$$});try{JSZip.loadAsync($dataZip$$).then(function($zip$$){return $zip$$.file("backup.json").async("string")}).then($string_data$$=>
15
+ {if($string_data$$){let $data$$=JSON.parse($string_data$$),$dvcs_pairs$$;async.series({app:$callback$$=>{console.log("[restoreApp] restore app...");let $appInfo$$=$data$$["app.js"];$appInfo$$?(delete $appInfo$$._id,delete $appInfo$$.__v,model.updateOne({_id:$id_app$$},$appInfo$$,$e$$=>{if($e$$)return $callback$$($e$$);$callback$$()})):$callback$$()},dvcs:$callback$$=>{async.mapSeries(coll_ex,($coll$$,$callback$$)=>{let $colls$$=Object.keys($data$$).filter($k$$=>$k$$==$coll$$);restoreColl($id_app$$,
16
+ $dvcs_pairs$$,$data$$,$colls$$).then($pairs$$=>{$coll$$=="dvcs"&&($dvcs_pairs$$=$pairs$$);async.map($pairs$$,($pair$$,$cb$$)=>{setImmediate(()=>{$coll$$=="dvcs"&&($string_data$$=$string_data$$.split($pair$$.old_id).join($pair$$.new_id));$cb$$()})},()=>{$callback$$()})}).catch($e$$=>{$callback$$($e$$)})},$e$$=>{$callback$$($e$$)})},data:$callback$$=>{let $colls$$=Object.keys($data$$).filter($k$$=>coll_ex.indexOf($k$$)<0);restoreColl($id_app$$,$dvcs_pairs$$,$data$$,$colls$$).then($pairs$$=>{console.log("[restoreApp] inserted data, begin fix new _id...",
17
+ $pairs$$.length);let $_data_goc$$=JSON.parse($string_data$$),$colls$$=Object.keys($_data_goc$$).filter($k$$=>coll_ex.indexOf($k$$)<0),$data_replace$$={};$colls$$.forEach($c$$=>{$data_replace$$[$c$$]=($_data_goc$$[$c$$]||[]).map($r$$=>JSON.stringify($r$$))});async.mapSeries($pairs$$,($pair$$,$cb$$)=>{setImmediate(()=>{$colls$$.forEach($c$$=>{console.log("[restoreApp] update pair",$pair$$,$c$$);$data_replace$$[$c$$]=$data_replace$$[$c$$].map($r$$=>$r$$.indexOf($pair$$.old_id)<0?$r$$:$r$$.split($pair$$.old_id).join($pair$$.new_id))});
18
+ $cb$$()})},()=>{async.map($colls$$,($col_name$$,$callback3$$)=>{const $rows$$=$data_replace$$[$col_name$$];console.log("[restoreApp] update collection",$col_name$$,$rows$$.length,"rows");$rows$$.length>0?mongoose.connection.db.collection($col_name$$,($err$$,$coll$$)=>{if($err$$)return $callback3$$($err$$);if(!$coll$$)return console.error("[restoreApp] can't update data. collection",$col_name$$,"is not exists"),$callback3$$();async.map($rows$$,($_row$$,$callback$$)=>{setImmediate(()=>{let $row$$=JSON.parse($_row$$);
19
+ delete $row$$.__v;delete $row$$.pkey;$row$$.id_app=$id_app$$;let $_id$$=ObjectId($row$$._id);delete $row$$._id;for(let $key$$ in $row$$)$row$$[$key$$]&&_.isString($row$$[$key$$])&&$key$$.indexOf("user")<0&&($key$$.indexOf("ngay_")>=0||$key$$.indexOf("date")>=0)&&($row$$[$key$$]=new Date($row$$[$key$$]));$coll$$.updateOne({_id:$_id$$,id_app:$id_app$$},{$set:$row$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);console.log("[restoreApp] updated",$col_name$$,$rs$$.matchedCount,$rs$$.modifiedCount,
20
+ $rs$$.upsertedId);$callback$$()})})},$e$$=>{$e$$||console.log("[restoreApp] updated collection",$col_name$$,"successfull");$callback3$$($e$$)})}):$callback3$$()},$e$$=>{$e$$||console.log("[restoreApp] all collections was restore successful");$callback$$($e$$)})})}).catch($e$$=>{$callback$$($e$$)})}},$e$$=>{if($e$$)return console.error("[restoreApp] Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i:",$e$$),parentPort.postMessage({error:"Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i: "+
21
+ $e$$.message||$e$$.error||$e$$,id_task:$message$$.id_task});console.log("\u2705 [restoreApp] database was restore successful");parentPort.postMessage({result:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 kh\u00f4i ph\u1ee5c d\u1eef li\u1ec7u th\u00e0nh c\u00f4ng",id_task:$message$$.id_task})})}else return parentPort.postMessage({error:"File l\u01b0u tr\u1eef kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u",id_task:$message$$.id_task})}).catch($e$$=>{console.error("[restoreApp]",$e$$,$fileZip$$);return parentPort.postMessage({error:"Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i: "+
22
+ $e$$.message||$e$$.error||$e$$,id_task:$message$$.id_task})})}catch($e$$){return console.error("[restoreApp]",$e$$,$fileZip$$),parentPort.postMessage({error:"Kh\u00f4ng th\u1ec3 restore d\u1eef li\u1ec7u. L\u1ed7i: "+$e$$.message||$e$$.error||$e$$,id_task:$message$$.id_task})}})}).catch($e$$=>{$e$$&&parentPort.postMessage({error:$e$$})})};
23
+ parentPort.on("message",$msg$$=>{if($msg$$){if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}restore($msg$$)}else parentPort.postMessage({error:"msg 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$$.id&&$msg$$.findOne&&restore($msg$$)})();
24
+ setInterval(()=>{parentPort.postMessage("pong")},5E3);