flexbiz-server
Version:
Flexible Server
9 lines (8 loc) • 3.58 kB
JavaScript
'use strict';const dmtk=global.getModel("account"),dmbp=global.getModel("dmbp"),bangtinhluong=global.getModel("bangtinhluong"),async=require("async"),controller=require("../../controllers/controllerRPT");
module.exports=function($router$$){new controller($router$$,"getluong",function($req$$,$callback$jscomp$0$$){const $condition$$=$req$$.query;if(!$condition$$.thang||!$condition$$.nam||!$condition$$.id_app)return $callback$jscomp$0$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: thang,nam,id_app");bangtinhluong.find({id_app:$condition$$.id_app,thang:Number($condition$$.thang)+1,nam:$condition$$.nam}).lean().exec(function($error$$,$luongs$$){if($error$$)return $callback$jscomp$0$$($error$$);
$luongs$$.joinModel2($condition$$.id_app,dmbp,[{where:{ma_bp:"ma_bp"},fields:["tk_cp_luong","tk_pt_nv","tk_thue_tncn","ma_phi","ten_bp"]}],async function(){const $cpluong$$=$luongs$$.filter($luong$$=>$luong$$.luong_thang).map($_luong_luong$$=>{$_luong_luong$$={...$_luong_luong$$};$_luong_luong$$.tk_no=$_luong_luong$$.tk_cp_luong;$_luong_luong$$.tk_co=$_luong_luong$$.tk_pt_nv;$_luong_luong$$.tien_nt=$_luong_luong$$.tien=Math.roundBy($_luong_luong$$.tong_thu_nhap);$_luong_luong$$.dien_giai="Chi ph\u00ed l\u01b0\u01a1ng";
return $_luong_luong$$}),$ttncn$$=$luongs$$.filter($luong$$=>$luong$$.ttncn_tong_thue).map($_luong$jscomp$1_luong$$=>{$_luong$jscomp$1_luong$$={...$_luong$jscomp$1_luong$$};$_luong$jscomp$1_luong$$.tk_no=$_luong$jscomp$1_luong$$.tk_pt_nv;$_luong$jscomp$1_luong$$.tk_co=$_luong$jscomp$1_luong$$.tk_thue_tncn||"3335";$_luong$jscomp$1_luong$$.tien_nt=$_luong$jscomp$1_luong$$.tien=$_luong$jscomp$1_luong$$.ttncn_tong_thue;$_luong$jscomp$1_luong$$.dien_giai="Kh\u1ea5u tr\u1eeb thu\u1ebf thu nh\u1eadp c\u00e1 nh\u00e2n";
return $_luong$jscomp$1_luong$$});let $trich_theo_luong$$=$luongs$$.map($_luong$$=>{let $luong$$={...$_luong$$};$_luong$$=$luong$$.giam_tru||[];let $ht$$;$ht$$=$_luong$$.filter($gt$$=>$gt$$.cty).map($_gt_gt$$=>{$_gt_gt$$={...$_gt_gt$$};$_gt_gt$$.tk_no=$luong$$.tk_cp_luong;$_gt_gt$$.tk_co=$_gt_gt$$.tk;$_gt_gt$$.dien_giai=$_gt_gt$$.dien_giai||$_gt_gt$$.ten_giam_tru;$_gt_gt$$.tien_nt=$_gt_gt$$.tien=$_gt_gt$$.cty;$_gt_gt$$.ma_phi=$luong$$.ma_phi;$_gt_gt$$.ma_bp=$luong$$.ma_bp;$_gt_gt$$.ten_bp=$luong$$.ten_bp;
$_gt_gt$$.ma_nv=$luong$$.ma_nv;$_gt_gt$$.ma_kho=$luong$$.ma_kho;return $_gt_gt$$});return $ht$$=[...$ht$$,...$_luong$$.filter($gt$$=>$gt$$.nv).map($_gt$jscomp$1_gt$$=>{$_gt$jscomp$1_gt$$={...$_gt$jscomp$1_gt$$};$_gt$jscomp$1_gt$$.tk_no=$luong$$.tk_pt_nv;$_gt$jscomp$1_gt$$.tk_co=$_gt$jscomp$1_gt$$.tk;$_gt$jscomp$1_gt$$.tien_nt=$_gt$jscomp$1_gt$$.tien=$_gt$jscomp$1_gt$$.nv;$_gt$jscomp$1_gt$$.dien_giai=$_gt$jscomp$1_gt$$.dien_giai||$_gt$jscomp$1_gt$$.ten_giam_tru;$_gt$jscomp$1_gt$$.ma_phi=$luong$$.ma_phi;
$_gt$jscomp$1_gt$$.ma_bp=$luong$$.ma_bp;$_gt$jscomp$1_gt$$.ten_bp=$luong$$.ten_bp;$_gt$jscomp$1_gt$$.ma_nv=$luong$$.ma_nv;$_gt$jscomp$1_gt$$.ma_kho=$luong$$.ma_kho;return $_gt$jscomp$1_gt$$})]}).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$report$$=[...$cpluong$$,...$trich_theo_luong$$,...$ttncn$$];$report$$=await $report$$.asyncGroupBy("tk_no tk_co ma_bp ten_bp ma_phi ma_kho dien_giai".split(" "),["tien","tien_nt"]);$report$$=$report$$.map(($r$$,$i$$)=>{$r$$.line=$i$$;return $r$$});async.series({tk:function($callback$$){$report$$.joinModel2($condition$$.id_app,
dmtk,[{where:{tk_no:"tk"},fields:[{name:"ten_tk_no",value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",value:"ten_tk"}]}],function($r$$){$callback$$(null,$r$$)})}},function(){$callback$jscomp$0$$(null,$report$$)})})})})};