UNPKG

flexbiz-server

Version:

Flexible Server

9 lines (8 loc) 3.57 kB
const cdpskh=require("../../libs/cdpskh"),permission=require("../../libs/permission"),Customer=global.getModel("customer"),dmkho=global.getModel("dmkho"),dmbp=global.getModel("dmbp"),dmnv=global.getModel("dmnv"),contract=global.getModel("contract"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT"); module.exports=function($router$$){new controller($router$$,"cdpskh",async function($req$$,$callback$$){const $query$$=$req$$.query;if(!$query$$.tk||!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 tk, tu_ngay,den_ngay");var $groupBy_ma_khs$$=$query$$.groupBy||$query$$.groupby||$query$$.group_by;if($groupBy_ma_khs$$&&!underscore.isArray($groupBy_ma_khs$$)&&$groupBy_ma_khs$$.toString().indexOf("[")>=0)try{$groupBy_ma_khs$$= JSON.parse($groupBy_ma_khs$$)}catch($e$$){Logger.error("cdpskh",$e$$.message,$groupBy_ma_khs$$)}$query$$.groupBy=$groupBy_ma_khs$$||["tk","ma_kh"];const $id_app$$=$query$$.id_app;$req$$.user.current_app_info.appAdmin||($groupBy_ma_khs$$=await new Promise($resolve$$=>{permission.getRightByItem($req$$.user.current_id_app,global.getModel("customer"),$req$$.user.email,async function($e$$,$_condition$$,$admin$$){if($admin$$)return $resolve$$(null);$_condition$$.id_app=$query$$.id_app;$query$$.ma_kh&&($_condition$$.ma_kh= $query$$.ma_kh);$query$$.nh_kh&&($_condition$$.nh_kh=$query$$.nh_kh);$query$$.phu_trach&&($_condition$$.phu_trach=$query$$.phu_trach);$e$$=await global.getModel("customer").find($_condition$$,{ma_kh:1}).lean();$resolve$$($e$$.map($k$$=>$k$$.ma_kh))})}),$query$$.ma_kh={$in:$groupBy_ma_khs$$},delete $query$$.nh_kh,delete $query$$.phu_trach);cdpskh($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({cust:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kh).joinModel2($id_app$$, Customer,{where:"ma_kh",fields:["ten_kh","dia_chi","dien_thoai","email","so_ngay_duoc_no"]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:"ten_kho"},()=>{$callback$$()})},bp:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_bp).joinModel2($id_app$$,dmbp,{where:"ma_bp",fields:"ten_bp"},()=>{$callback$$()})},nv:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_nv).joinModel2($id_app$$,dmnv,{where:"ma_nv",fields:"ten_nv"},()=>{$callback$$()})}, dmdt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_dt).joinModel2($id_app$$,dmdt,{where:"ma_dt",fields:"ten_dt"},()=>{$callback$$()})},dmphi:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_phi).joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{$callback$$()})},contract:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_hd).joinModel2($id_app$$,contract,{where:{ma_hd:"so_hd"},fields:"ten_hd"},()=>{$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return($r$$.ma_kh|| "")+($r$$.ma_kho||"")+($r$$.ma_bp||"")+($r$$.ma_nv||"")+($r$$.ma_dt||"")+($r$$.ma_hd||"")});$report$$.push({ten_kh:"T\u1ed5ng c\u1ed9ng",dk_no:$report$$.csum("dk_no"),dk_co:$report$$.csum("dk_co"),ps_no:$report$$.csum("ps_no"),ps_co:$report$$.csum("ps_co"),ck_no:$report$$.csum("ck_no"),ck_co:$report$$.csum("ck_co"),dk_no_nt:$report$$.csum("dk_no_nt"),dk_co_nt:$report$$.csum("dk_co_nt"),ps_no_nt:$report$$.csum("ps_no_nt"),ps_co_nt:$report$$.csum("ps_co_nt"),ck_no_nt:$report$$.csum("ck_no_nt"),ck_co_nt:$report$$.csum("ck_co_nt"), systotal:1,bold:!0});$callback$$(null,$report$$)})})})};