flexbiz-server
Version:
Flexible Server
7 lines (6 loc) • 2.73 kB
JavaScript
const Account=global.getModel("account"),Customer=global.getModel("customer"),vsocai=require("../../libs/vsocai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
module.exports=function($router$$){new controller($router$$,"sonkc",function($req$$,$callback$$){let $groupBy$$=$req$$.query.groupby,$fieldmaxs$$=$req$$.query.fieldmax;const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){var $q_tks$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q_tks$$)}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.so_ct&&
($query$$.so_ct={$regex:$req$$.query.so_ct,$options:"i"}),$req$$.query.tk&&($q_tks$$=$req$$.query.tk,underscore.isArray($q_tks$$)||($q_tks$$=[$q_tks$$]),$query$$.tk={$regex:$q_tks$$.reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});vsocai.find($query$$,function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1;$r$$.thang=$r$$.ngay_ct.getMonth()+1;$r$$.nam=$r$$.ngay_ct.getFullYear();
$r$$.tk_bac1=$r$$.tk.length<=3?$r$$.tk:$r$$.tk.substring(0,3)});async.series([function($callback$$){$rp$$.joinModel2($req$$.query.id_app,Account,[{where:"tk",fields:"ten_tk"},{where:{tk_bac1:"tk"},fields:{ten_tk_bac1:"ten_tk"}}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",ps_no:$rp$$.csum("ps_no"),
ps_co:$rp$$.csum("ps_co"),ps_no_nt:$rp$$.csum("ps_no_nt"),ps_co_nt:$rp$$.csum("ps_co_nt"),systotal:1,sysorder:9,bold:!0};$groupBy$$?($fieldmaxs$$||=["so_ct","ngay_ct","ma_ct"],$rp$$.groupBy($groupBy$$,["ps_no","ps_co","ps_no_nt","ps_co_nt"],function($e$$,$rs$$){$req$$.query.grouponly?$rp$$=$rs$$:$rs$$.forEach(function($r$$){$r$$.systotal=1;$r$$.sysorder=3;$r$$.bold=!0;$r$$.dien_giai="C\u1ed9ng";$rp$$.push($r$$)});$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):
"0")+$r$$.ma_ct+$r$$.so_ct+$r$$.id_ct+$r$$.sysorder+$r$$.nh_dk+$r$$.ps_co});$callback$$($error$$,$rp$$)},{fieldmaxs:$fieldmaxs$$})):($rp$$.push($rt$$),$rp$$=underscore.sortBy($rp$$,function($r$$){return($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0")+$r$$.ma_ct+$r$$.so_ct+$r$$.id_ct+$r$$.sysorder+$r$$.nh_dk+$r$$.ps_co}),$callback$$($error$$,$rp$$))})},{groupBy:!0,sortData:!0})})};