flexbiz-server
Version:
Flexible Server
6 lines (5 loc) • 1.97 kB
JavaScript
const Customer=global.getModel("customer"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),tuoinophaithu=require("../../libs/tuoinophaithu"),permission=require("../../libs/permission");
module.exports=function($router$$){new controller($router$$,"hoadonbanhangtheohantt",async function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$req$$.user.current_app_info.appAdmin){let $ma_khs$$=await new Promise($resolve$$=>{permission.getRightByItem($req$$.user.current_id_app,global.getModel("customer"),$req$$.user.email,async function($e_khs$$,$_condition$$,$admin$$){if($admin$$)return $resolve$$(null);$_condition$$.id_app=$condition$$.id_app;$condition$$.ma_kh&&($_condition$$.ma_kh=
$condition$$.ma_kh);$condition$$.nh_kh&&($_condition$$.nh_kh=$condition$$.nh_kh);$condition$$.phu_trach&&($_condition$$.phu_trach=$condition$$.phu_trach);$e_khs$$=await global.getModel("customer").find($_condition$$,{ma_kh:1}).lean();$resolve$$($e_khs$$.map($k$$=>$k$$.ma_kh))})});$condition$$.ma_kh={$in:$ma_khs$$};delete $condition$$.nh_kh;delete $condition$$.phu_trach}tuoinophaithu($condition$$,async($error$$,$report$$)=>{if($error$$)return $callback$$($error$$);await $report$$.asyncJoinModel2($condition$$.id_app,
Customer,[{where:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"},{name:"id_kh",value:"_id"},{name:"nh_kh",value:"nh_kh"},{name:"phu_trach",value:"phu_trach"}]}]);await $report$$.filter($r$$=>$r$$.ma_nv).asyncJoinModel2($condition$$.id_app,"dmnv",[{where:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}]);await $report$$.filter($r$$=>$r$$.phu_trach).asyncJoinModel2($condition$$.id_app,"participant",{where:{phu_trach:"email"},fields:{ten_phu_trach:"name"}});await $report$$.filter($r$$=>$r$$.ma_dt).asyncJoinModel2($condition$$.id_app,
"dmdt",{where:{ma_dt:"ma_dt"},fields:{ten_dt:"ten_dt"}});$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.id_hd+$r$$.sysorder});$callback$$(null,$report$$)})})};