UNPKG

flexbiz-server

Version:

Flexible Server

7 lines (6 loc) 2.32 kB
const async=require("async"),qts=global.getModel("qts"),sotinhkh=global.getModel("sotinhkh"),controller=require("../../controllers/controllerRPT"); module.exports=function($router$$){new controller($router$$,"bangtinhkhauhao",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.nam||!$condition$$.thang)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: n\u0103m(nam), th\u00e1ng(thang)");const $id_app$$=$condition$$.id_app,$query$$={id_app:$id_app$$,nam:$condition$$.nam};$query$$.thang=$condition$$.thang;async.series({id_tss:function($callback$$){const $q_ts$$={id_app:$id_app$$}; $condition$$.ma_bp&&($q_ts$$.ma_bp=$condition$$.ma_bp);$condition$$.ma_kho&&($q_ts$$.ma_bp=$condition$$.ma_kho);$condition$$.ma_loai_ts&&($q_ts$$.ma_loai_ts=$condition$$.ma_loai_ts);$condition$$.ma_gd&&($q_ts$$.ma_gd=$condition$$.ma_gd);$condition$$.id_ts&&($q_ts$$.id_ts=$condition$$.id_ts);qts.find($q_ts$$).lean().then(function($rs$$){$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})}},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);const $dsts$$=[];$rs$$.id_tss.forEach(function($r$$){$dsts$$.push($r$$._id.toString())}); $rs$$.id_tss&&($query$$.id_ts={$in:$dsts$$});sotinhkh.find($query$$).lean().then(async function($rs$$){await $rs$$.filter($r$$=>$r$$.ma_tang_giam_ts).asyncJoinModel2($id_app$$,"dmtanggiamts",{where:"ma_tang_giam_ts",fields:{kieu_dc:"kieu"}});$rs$$.forEach($r$$=>{$r$$.kieu_dc=="2"&&($r$$.nguyen_gia=0-$r$$.nguyen_gia,$r$$.gia_tri_da_kh=0-$r$$.gia_tri_da_kh,$r$$.gia_tri_con_lai=0-$r$$.gia_tri_con_lai,$r$$.gia_tri_kh_ky=0-$r$$.gia_tri_kh_ky)});$rs$$.groupBy("id_ts",["nguyen_gia","gia_tri_da_kh","gia_tri_con_lai", "gia_tri_kh_ky"],function($e$$,$report$$){if($e$$)return $callback$$($e$$);$report$$.joinModel2($id_app$$,qts,[{where:{id_ts:"_id"},fields:["ma_ct","ten_ts","so_the_ts","so_ky_kh"],setFields:($item$$,$data$$)=>{for(let $key$$ in $data$$)$item$$[`ts_${$key$$}`]=$data$$[$key$$]}}],function(){$report$$.push({bold:!0,ten_ts:"T\u1ed5ng c\u1ed9ng",so_the_ts:"",nguyen_gia:$report$$.csum("nguyen_gia"),gia_tri_da_kh:$report$$.csum("gia_tri_da_kh"),gia_tri_con_lai:$report$$.csum("gia_tri_con_lai"),gia_tri_kh_ky:$report$$.csum("gia_tri_kh_ky")}); $callback$$(null,$report$$)})})}).catch($e$$=>{$callback$$($e$$)})})})};