UNPKG

flexbiz-server

Version:

Flexible Server

6 lines (5 loc) 2.33 kB
const controller=require("../../controllers/controllerRPT"),NhadatMoigioiBanModel=global.getModel("bds_nhadat_moigioi_ban"),getBrokerSalesReport=async({id_app:$id_app$$,user_moi_gioi:$summaryPipeline_user_moi_gioi$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,trang_thai:$trang_thai$$})=>{try{const $matchCondition$$={id_app:$id_app$$};$summaryPipeline_user_moi_gioi$$&&($matchCondition$$.$or=[{user_created:$summaryPipeline_user_moi_gioi$$},{user_ref:$summaryPipeline_user_moi_gioi$$}]);$matchCondition$$.trang_thai= $trang_thai$$&&$trang_thai$$!="9"?$trang_thai$$:{$ne:"9"};if($tu_ngay$$||$den_ngay$$){$matchCondition$$.date_created={};if($tu_ngay$$){const $fromDate$$=new Date($tu_ngay$$);$fromDate$$.setHours(0,0,0,0);$matchCondition$$.date_created.$gte=$fromDate$$}if($den_ngay$$){const $toDate$$=new Date($den_ngay$$);$toDate$$.setHours(23,59,59,999);$matchCondition$$.date_created.$lte=$toDate$$}}$summaryPipeline_user_moi_gioi$$=[{$match:$matchCondition$$},{$group:{_id:null,tong_so_lo:{$sum:1},tong_doanh_thu:{$sum:"$gia_ban_thuc"}, tong_hoa_hong_truc_tiep:{$sum:{$cond:[{$eq:["$user_created",$summaryPipeline_user_moi_gioi$$]},"$hoa_hong",0]}},tong_hoa_hong_gian_tiep:{$sum:{$cond:[{$eq:["$user_ref",$summaryPipeline_user_moi_gioi$$]},"$hoa_hong2",0]}}}}];const [$listResult$$,$summaryResult$$]=await Promise.all([NhadatMoigioiBanModel.aggregate([{$match:$matchCondition$$},{$sort:{date_created:-1}}]),NhadatMoigioiBanModel.aggregate($summaryPipeline_user_moi_gioi$$)]),$summary$$=$summaryResult$$.length>0?$summaryResult$$[0]:{tong_so_lo:0, tong_doanh_thu:0,tong_hoa_hong_truc_tiep:0,tong_hoa_hong_gian_tiep:0};$summary$$.tong_thu_nhap=$summary$$.tong_hoa_hong_truc_tiep+$summary$$.tong_hoa_hong_gian_tiep;delete $summary$$._id;await $listResult$$.asyncJoinModel2($id_app$$,"trangthai",{where:$item$$=>({ma_trang_thai:$item$$.trang_thai,ma_ct:"NHADAT_MOIGIOI_BAN"}),fields:["ten_trang_thai","color"]});return{summary:$summary$$,list:$listResult$$}}catch($error$$){throw console.error("L\u1ed7i getBrokerSalesReport:",$error$$),$error$$;}}; module.exports=function($router$$){new controller($router$$,"nhadat-hoahong-ctv",async function($condition_req$$,$callback$$){$condition_req$$=$condition_req$$.query;try{let $rp$$=await getBrokerSalesReport($condition_req$$);$callback$$(null,$rp$$)}catch($e$$){$callback$$($e$$)}})};