UNPKG

flexbiz-server

Version:

Flexible Server

26 lines (25 loc) 12.4 kB
const databanle=require("../../libs/databanle"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"); module.exports=function($router$$){new controller($router$$,"dtbanletheoctkempk",async function($req$$,$callback$$){const $condition$$=$req$$.query;$condition$$.den_ngay||($condition$$.den_ngay=new Date);const $id_app$$=$condition$$.id_app,$query$$={id_app:$id_app$$};$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_nv&&($query$$.ma_nv=$condition$$.ma_nv);$condition$$.ma_kho&& ($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{var $condition_kh_custs$$={};if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh,{status:!0});$condition_kh_custs$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app, $condition$$.nh_kh2,{status:!0}),$condition_kh_custs$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh3,{status:!0}),$condition_kh_custs$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4, {status:!0}),$condition_kh_custs$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh5,{status:!0}),$condition_kh_custs$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});Object.keys($condition_kh_custs$$).length>0&&($condition_kh_custs$$.id_app=$condition$$.id_app,$condition_kh_custs$$=await global.getModel("customer").find($condition_kh_custs$$, {ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.user_hoa_hong&&($query$$.$or?$query$$.$and=[{$or:[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong}, {"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]}]:$query$$.$or=[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong}, {"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]);$condition$$.id_cs_ck_hd&&($query$$.id_cs_ck_hd=$condition$$.id_cs_ck_hd);databanle($query$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);async.map($rs$$,function($r$$,$callback$$){setImmediate(async()=>{$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat"); $r$$.t_tien_hang=$r$$.details.csum("tien_hang");$r$$.t_tien_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.t_tien_ck=$r$$.details.csum("tien_ck");$r$$.t_thue=$r$$.details.csum("tien_thue");$r$$.t_tien=$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_ck_hd=$r$$.tien_ck_hd||0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.t_tien_hoa_hong=$condition$$.user_hoa_hong&&$r$$.user_nv!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt= $condition$$.user_hoa_hong&&$r$$.user_gt!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong_gt");$r$$.t_tien_hoa_hong_ctv=$condition$$.user_hoa_hong&&$r$$.user_ctv!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong_ctv");$r$$.t_tien_hoa_hong_ql=$condition$$.user_hoa_hong&&$r$$.user_ql!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong_ql");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl= $r$$.details_tl.csum("tien_thue"),$r$$.t_tien_nhap=$r$$.details_tl.csum("tien_nhap"),$r$$.t_sl_nhap=$r$$.details_tl.csum("sl_nhap"),$r$$.t_tien_hoa_hong-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_nv!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0),0),$r$$.t_tien_hoa_hong_gt-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_gt!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong_gt).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0), 0),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_ctv!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong_ctv).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0),0),$r$$.t_tien_hoa_hong_ql-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_ql!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong_ql).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0),0)):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc|| 0;$r$$.t_sl_vt_du=($r$$.details||[]).map($r$$=>$r$$.sl_vt_du||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_gt_vt_du=($r$$.details||[]).map($r$$=>$r$$.gt_vt_du||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_sl_pk_nhap=($r$$.ds_pk_nhap||[]).map($d$$=>$d$$.sl_pk_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_sl_pk_xuat=($r$$.ds_pk_xuat||[]).map($d$$=>$d$$.sl_pk_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_tien_tdtt_no=0;$r$$.t_tien_tdtt_no_nt=0;$r$$.t_tien_tdtt_da_thu=0;$r$$.t_tien_tdtt_da_thu_nt=0;$r$$.t_tien_tdtt_con_no= 0;$r$$.t_tien_tdtt_con_no_nt=0;var $da_thus_no_query_da_tra$$=await global.getModel("tdttno").findOne({id_ct:$r$$._id,ma_kh:$r$$.ma_kh}).lean();$da_thus_no_query_da_tra$$&&($r$$.t_tien_tdtt_no_nt=$da_thus_no_query_da_tra$$.tien_nt,$r$$.t_tien_tdtt_no=$da_thus_no_query_da_tra$$.tien,$da_thus_no_query_da_tra$$={id_app:$id_app$$,id_hd:$r$$._id,ma_kh:$r$$.ma_kh},$condition$$.tt_den_ngay&&($da_thus_no_query_da_tra$$.ngay_ct={$lte:new Date($condition$$.tt_den_ngay)}),$da_thus_no_query_da_tra$$=await global.getModel("tdttno_tt").find($da_thus_no_query_da_tra$$).lean(), $r$$.t_tien_tdtt_da_thu=$da_thus_no_query_da_tra$$.map($d$$=>$d$$.tien).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$r$$.t_tien_tdtt_da_thu_nt=$da_thus_no_query_da_tra$$.map($d$$=>$d$$.tien_nt).reduce(($a$$,$b$$)=>$a$$+$b$$,0));$r$$.t_tien_tdtt_con_no=$r$$.t_tien_tdtt_no-$r$$.t_tien_tdtt_da_thu;$r$$.t_tien_tdtt_con_no_nt=$r$$.t_tien_tdtt_no_nt-$r$$.t_tien_tdtt_da_thu_nt;$callback$$(null,$r$$)})},async function($error$$,$i_rs$$){if($error$$)return $callback$$($error$$);let $field_group_by$$=$req$$.query.group_by; underscore.isString($field_group_by$$)&&($field_group_by$$=[$field_group_by$$]);let $report$$;if($field_group_by$$){$error$$=[{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_sl_nhap",value:"t_sl_nhap"},{name:"t_tien_hang",value:"t_tien_hang"},{name:"t_tien_hang_ct",value:"t_tien_hang_ct"},{name:"t_tien_cp",value:"t_tien_cp"},{name:"tien_freeship",value:"tien_freeship"},{name:"tien_phi_vc",value:"tien_phi_vc"},{name:"t_tien_ck",value:"t_tien_ck"},{name:"t_thue",value:"t_thue"},{name:"t_tien",value:"t_tien"}, {name:"tien_ck_hd",value:"tien_ck_hd"},{name:"tien_evoucher",value:"tien_evoucher"},{name:"tien_thu",value:"tien_thu"},{name:"tien_thu2",value:"tien_thu2"},{name:"tien_paymentByPoints",value:"tien_paymentByPoints"},{name:"t_tien_xuat",value:"t_tien_xuat"},{name:"t_tien_tl",value:"t_tien_tl"},{name:"t_tien_thue_tl",value:"t_tien_thue_tl"},{name:"t_tien_nhap",value:"t_tien_nhap"},{name:"phai_tra",value:"phai_tra"},{name:"t_tien_hoa_hong",value:"t_tien_hoa_hong"},{name:"t_tien_hoa_hong_gt",value:"t_tien_hoa_hong_gt"}, {name:"t_tien_hoa_hong_ctv",value:"t_tien_hoa_hong_ctv"},{name:"t_tien_hoa_hong_ql",value:"t_tien_hoa_hong_ql"},{name:"t_sl_vt_du",value:"t_sl_vt_du"},{name:"t_gt_vt_du",value:"t_gt_vt_du"},{name:"t_sl_pk_nhap",value:"t_sl_pk_nhap"},{name:"t_sl_pk_xuat",value:"t_sl_pk_xuat"},{name:"t_tien_tdtt_no",value:"t_tien_tdtt_no"},{name:"t_tien_tdtt_da_thu",value:"t_tien_tdtt_da_thu"},{name:"t_tien_tdtt_con_no",value:"t_tien_tdtt_con_no"}];try{$report$$=await $i_rs$$.asyncGroupBy($field_group_by$$,$error$$)}catch($e$$){return $callback$$($e$$)}$report$$= $report$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$field_group_by$$.length;$i$$++){let $field$$=$field_group_by$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0})}else{const $sort_fields$$=["ngay_ct","so_ct"];$report$$=$i_rs$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$sort_fields$$.length;$i$$++){let $field$$=$sort_fields$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0})}$i_rs$$=0;for(var $r$$ of $report$$)$r$$.stt= $i_rs$$+1,$i_rs$$++,$r$$.bold=!1,$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0,$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_gt_vt_du||0)-($r$$.t_tien_ck||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0)+($r$$.t_thue||0),$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-($r$$.t_gt_vt_du||0)-($r$$.t_tien_ck||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0),$r$$.t_lai=$r$$.t_doanh_thu-$r$$.t_tien_xuat-($r$$.t_tien_tl- $r$$.t_tien_nhap)-($r$$.t_tien_cp||0),$r$$.t_doanh_thu_thuan=$r$$.t_doanh_thu-$r$$.t_tien_tl,$r$$.t_hoa_hong=$r$$.t_tien_hoa_hong+$r$$.t_tien_hoa_hong_gt+$r$$.t_tien_hoa_hong_ctv+$r$$.t_tien_hoa_hong_ql,$r$$.t_tien_con_no=$r$$.t_tien_tdtt_no-$r$$.t_tien_tdtt_da_thu,$r$$.t_tien_da_thu=$r$$.t_doanh_thu-$r$$.t_tien_con_no;$r$$={[$field_group_by$$?$field_group_by$$[0]:"S\u1ed1 ch\u1ee9ng t\u1eeb"]:"T\u1ed5ng c\u1ed9ng",t_sl_xuat:$report$$.csum("t_sl_xuat"),t_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_hang:$report$$.csum("t_tien_hang"), t_tien_hang_ct:$report$$.csum("t_tien_hang_ct"),t_tien_cp:$report$$.csum("t_tien_cp"),t_tien_ck:$report$$.csum("t_tien_ck"),t_thue:$report$$.csum("t_thue"),t_tien:$report$$.csum("t_tien"),tien_ck_hd:$report$$.csum("tien_ck_hd"),tien_phi_vc:$report$$.csum("tien_phi_vc"),tien_freeship:$report$$.csum("tien_freeship"),t_tien_tl:$report$$.csum("t_tien_tl"),t_tien_thue_tl:$report$$.csum("t_tien_thue_tl"),t_tien_xuat:$report$$.csum("t_tien_xuat"),t_tien_nhap:$report$$.csum("t_tien_nhap"),t_phai_thu:$report$$.csum("t_phai_thu"), t_doanh_thu:$report$$.csum("t_doanh_thu"),t_doanh_thu_thuan:$report$$.csum("t_doanh_thu_thuan"),tien_evoucher:$report$$.csum("tien_evoucher"),tien_thu:$report$$.csum("tien_thu"),tien_thu2:$report$$.csum("tien_thu2"),t_tien_thu:$report$$.csum("t_tien_thu"),phai_tra:$report$$.csum("phai_tra"),t_tien_paymentByPoints:$report$$.csum("tien_paymentByPoints"),t_lai:$report$$.csum("t_lai"),t_tien_hoa_hong:$report$$.csum("t_tien_hoa_hong"),t_tien_hoa_hong_gt:$report$$.csum("t_tien_hoa_hong_gt"),t_tien_hoa_hong_ctv:$report$$.csum("t_tien_hoa_hong_ctv"), t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),t_sl_vt_du:$report$$.csum("t_sl_vt_du"),t_gt_vt_du:$report$$.csum("t_gt_vt_du"),t_sl_pk_nhap:$report$$.csum("t_sl_pk_nhap"),t_sl_pk_xuat:$report$$.csum("t_sl_pk_xuat"),t_tien_tdtt_no:$report$$.csum("t_tien_tdtt_no"),t_tien_tdtt_da_thu:$report$$.csum("t_tien_tdtt_da_thu"),t_tien_tdtt_con_no:$report$$.csum("t_tien_tdtt_con_no"),t_tien_da_thu:$report$$.csum("t_tien_da_thu"),t_tien_con_no:$report$$.csum("t_tien_con_no"), bold:!0};$report$$.push($r$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,{data:$report$$})})})})};