UNPKG

flexbiz-server

Version:

Flexible Server

13 lines (12 loc) 5.6 kB
'use strict';const tdttco=global.getModel("tdttco"),tdttco_tt=global.getModel("tdttco_tt"),Customer=global.getModel("customer"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"); module.exports=function($router_rpt$$){$router_rpt$$=new controller($router_rpt$$,"chitietchitientheohoadon",function($req$$,$callback$jscomp$0$$){const $condition$$=$req$$.query;$condition$$.den_ngay&&($condition$$.den_ngay=moment().endOf("date").toDate());async.series({invoices:function($callback$$){const $query$$={id_app:$condition$$.id_app};$condition$$.id_ct?$query$$.id_ct=$condition$$.id_ct:($query$$.ngay_ct={$lte:$condition$$.den_ngay},$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay), $condition$$.ma_kh&&($query$$.ma_kh=$condition$$.ma_kh),$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct),$condition$$.so_hd&&($query$$.so_hd=$condition$$.so_hd));tdttco.find($query$$).lean().exec(function($error$$,$results$$){if($error$$)return $callback$$($error$$);$error$$=[];for(let $i$$=0;$i$$<$results$$.length;$i$$++){const $invoice$$=$results$$[$i$$];$invoice$$.line=$i$$;$error$$.push($invoice$$)}$callback$$(null,$error$$)})}},function($error$jscomp$0$$,$results$jscomp$0$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$); let $report$$=[];async.mapSeries($results$jscomp$0$$.invoices,function($invoice$$,$callback$$){var $t_invoice$$={id_app:$invoice$$.id_app,sysorder:1,bold:!0,id_ct:$invoice$$.id_ct,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_ct:$invoice$$.so_ct,ngay_ct:$invoice$$.ngay_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.ma_dt=$invoice$$.ma_dt; $t_invoice$$.ma_nv=$invoice$$.ma_nv;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=0;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.han_tt=$invoice$$.han_tt;$t_invoice$$.han_tt&&($t_invoice$$.han_tt_den_ngay=new Date($t_invoice$$.ngay_hd||$t_invoice$$.ngay_ct),$t_invoice$$.han_tt_den_ngay.setDate($t_invoice$$.han_tt_den_ngay.getDate()+$t_invoice$$.han_tt));$t_invoice$$._id= $invoice$$._id;$t_invoice$$.tat_toan=$invoice$$.tat_toan;$report$$.push($t_invoice$$);tdttco_tt.find({id_tdtt:$invoice$$._id}).sort({ngay_ct:1}).lean().exec(function($error$$,$results$$){let $da_thanh_toan_nt$$=0;$results$$.forEach(function($invoice_tt$$){$da_thanh_toan_nt$$+=$invoice_tt$$.thanh_toan_qd;$invoice_tt$$.da_thanh_toan_nt=$invoice_tt$$.thanh_toan_qd;$invoice_tt$$.tien_hd_nt=0;$invoice_tt$$.con_lai_nt=0;$invoice_tt$$.sysorder=5;$invoice_tt$$.bold=!1;$report$$.push($invoice_tt$$)});$t_invoice$$.da_thanh_toan_nt= $da_thanh_toan_nt$$;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;0>=$t_invoice$$.con_lai_nt&&($t_invoice$$.tat_toan=!0);$t_invoice$$.con_phai_tt_nt=$t_invoice$$.tat_toan?0:$t_invoice$$.con_lai_nt;$callback$$(null,$t_invoice$$)})},function($error$$){if($error$$)return $callback$jscomp$0$$($error$$);$report$$.joinModel($condition$$.id_app,Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"},{name:"id_kh",value:"_id"}]}],function(){$report$$=underscore.sortBy($report$$, function($r$$){return $r$$.id_hd+$r$$.sysorder});$callback$jscomp$0$$(null,$report$$)})})})},{cache_time:60});$router_rpt$$.createRoute("tattoan/:id_tdtt",async($req$$,$next$$)=>{const $id_tdtt$$=$req$$.params.id_tdtt;if(!global.mongoose.Types.ObjectId.isValid($id_tdtt$$))return $next$$({error:"id theo d\u00f5i thanh to\u00e1n kh\u00f4ng h\u1ee3p l\u1ec7"});if(!$req$$.user.appAdmin)return $next$$({error:"Ch\u1ec9 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb m\u1edbi c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"}); try{const $hd$$=await tdttco.findOne({_id:$id_tdtt$$}).lean();if(!$hd$$)return $next$$({error:"Ho\u00e1 \u0111\u01a1n n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i"});if($hd$$.tat_toan)return $next$$({error:"Ho\u00e1 \u0111\u01a1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea5t to\u00e1n"});await tdttco.updateOne({_id:$id_tdtt$$},{tat_toan:!0});await global.getModel("cache").deleteMany({user:$req$$.user.email,id_app:$req$$.user.current_id_app,key:"chitietchitientheohoadon"}).catch($e$$=>{console.error("error delete cache data", $e$$)});$next$$(null,{result:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"})}catch($e$$){$next$$({error:$e$$.message||$e$$.error||$e$$})}});$router_rpt$$.createRoute("botattoan/:id_tdtt",async($req$$,$next$$)=>{const $id_tdtt$$=$req$$.params.id_tdtt;if(!global.mongoose.Types.ObjectId.isValid($id_tdtt$$))return $next$$({error:"id theo d\u00f5i thanh to\u00e1n kh\u00f4ng h\u1ee3p l\u1ec7"});if(!$req$$.user.appAdmin)return $next$$({error:"Ch\u1ec9 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb m\u1edbi c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"}); try{if(!await tdttco.findOne({_id:$id_tdtt$$}).lean())return $next$$({error:"Ho\u00e1 \u0111\u01a1n n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i"});await tdttco.updateOne({_id:$id_tdtt$$},{tat_toan:!1});await global.getModel("cache").deleteMany({user:$req$$.user.email,id_app:$req$$.user.current_id_app,key:"chitietchitientheohoadon"}).catch($e$$=>{console.error("error delete cache data",$e$$)});$next$$(null,{result:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"})}catch($e$$){$next$$({error:$e$$.message|| $e$$.error||$e$$})}})};