flexbiz-server
Version:
Flexible Server
6 lines (5 loc) • 1.82 kB
JavaScript
const Account=global.getModel("account"),Customer=global.getModel("customer"),Socai=global.getModel("socai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
module.exports=function($router$$){new controller($router$$,"sonktt",function($req$$,$callback$$){const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){const $q$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q$$)}else $query$$.ngay_ct={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay},$req$$.query.dien_giai&&($query$$.dien_giai={$regex:$req$$.query.dien_giai,$options:"i"}),$req$$.query.tk_no&&($query$$.tk_no={$regex:$req$$.query.tk_no.split(",").reg(),$options:"i"}),
$req$$.query.tk_co&&($query$$.tk_co={$regex:$req$$.query.tk_co.split(",").reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});Socai.find($query$$).lean().exec(function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0});async.series([function($callback$$){$rp$$.joinModel($req$$.query.id_app,Account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no",value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",
value:"ten_tk"}]}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh_no",bkey:"ma_kh",fields:[{name:"ten_kh_no",value:"ten_kh"}]},{akey:"ma_kh_co",bkey:"ma_kh",fields:[{name:"ten_kh_co",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",tien:$rp$$.csum("tien"),tien_nt:$rp$$.csum("tien_nt"),systotal:1,bold:!0};$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return $r$$.ngay_ct+
$r$$.ma_ct+$r$$.so_ct});$callback$$($error$$,$rp$$)})})})};