UNPKG

flexbiz-server

Version:

Flexible Server

21 lines (20 loc) 10.1 kB
const socai=global.getModel("socai"),cktk=require("../../libs/cktk"),dktk=require("../../libs/dktk"),kbmtmbctc=global.getModel("kbmtmbctc"),rptform=global.getModel("rptform"),async=require("async"),_=require("lodash"),utils=require("../../libs/utils"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),getRegString=function($arrayTk$$){return $arrayTk$$.reg()},calcColumn=($condition_row$$,$column_name$$,$query_tk_co_tk_no$$,$callback$$)=>{let $r$$=$condition_row$$[$column_name$$]; if(!$r$$)return $callback$$(null,{value:0,value_nt:0,cong_thuc:""});switch($r$$.cach_tinh){case "9":$r$$.cong_thuc="";utils.getInfoFromQuery($query_tk_co_tk_no$$,$r$$.query,($e$$,$rs$$)=>{if($e$$)return $callback$$(null,$r$$);_.isNumber($rs$$)?$r$$.value=$rs$$:$r$$.value_string=$rs$$;$callback$$(null,$r$$)});break;case "2":$r$$.cong_thuc="";$condition_row$$={ngay_ct:{$gte:$query_tk_co_tk_no$$.tu_ngay,$lte:$query_tk_co_tk_no$$.den_ngay},id_app:$query_tk_co_tk_no$$.id_app};$query_tk_co_tk_no$$.ma_dvcs&& ($condition_row$$.ma_dvcs=$query_tk_co_tk_no$$.ma_dvcs);$query_tk_co_tk_no$$.ma_bp&&($condition_row$$.ma_bp=$query_tk_co_tk_no$$.ma_bp);$query_tk_co_tk_no$$.ma_hd&&($condition_row$$.ma_hd=$query_tk_co_tk_no$$.ma_hd);$query_tk_co_tk_no$$.ma_dt&&($condition_row$$.ma_dt=$query_tk_co_tk_no$$.ma_dt);$query_tk_co_tk_no$$.ma_sp&&($condition_row$$.ma_sp=$query_tk_co_tk_no$$.ma_sp);$query_tk_co_tk_no$$.ma_nv&&($condition_row$$.ma_nv=$query_tk_co_tk_no$$.ma_nv);$r$$.ma_phi&&($condition_row$$.ma_phi=$r$$.ma_phi); $r$$.ma_kho&&($condition_row$$.ma_kho=$r$$.ma_kho);if($query_tk_co_tk_no$$=getRegString($r$$.tk_no))$condition_row$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($query_tk_co_tk_no$$)}:{$regex:$query_tk_co_tk_no$$,$options:"i"};if($query_tk_co_tk_no$$=getRegString($r$$.tk_co))$condition_row$$.tk_co=$r$$.giam_tru_co&&$query_tk_co_tk_no$$?{$not:new RegExp($query_tk_co_tk_no$$)}:{$regex:$query_tk_co_tk_no$$,$options:"i"};if($r$$.dieu_kien_khac)try{$r$$.dieu_kien_khac.indexOf("{")<0&&($r$$.dieu_kien_khac= "{"+$r$$.dieu_kien_khac+"}");var $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$=$r$$.dieu_kien_khac;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.indexOf("return ")<0&&($condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$=`return ${$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$}`);let $dieu_kien_khac$$=utils.evalute($condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$,{moment,condition:$condition_row$$, row:$r$$});$condition_row$$={...$condition_row$$,...$dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}socai.find($condition_row$$).lean().exec(($error$$,$rs$$)=>{if($error$$)return $callback$$($error$$);$r$$.value=$rs$$.csum("tien");$r$$.value_nt=$rs$$.csum("tien_nt");$r$$.details=$rs$$;$callback$$(null,$r$$)});break;case "5":$r$$.cong_thuc="";$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.ngay= $query_tk_co_tk_no$$.tu_ngay;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.bu_tru=$r$$.bu_tru_cong_no;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tk=$r$$.tk;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tu_ngay;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.den_ngay;dktk($condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$); $r$$.value=$result$$.csum("du_no00");$r$$.value_nt=$result$$.csum("du_no_nt00");$r$$.value<0&&$r$$.khong_am&&($r$$.value=0);$r$$.value_nt<0&&$r$$.khong_am&&($r$$.value_nt=0);$callback$$(null,$r$$)});break;case "6":$r$$.cong_thuc="";$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.ngay=$query_tk_co_tk_no$$.tu_ngay;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.bu_tru= $r$$.bu_tru_cong_no;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tk=$r$$.tk;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tu_ngay;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.den_ngay;dktk($condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$r$$.value=$result$$.csum("du_co00");$r$$.value_nt=$result$$.csum("du_co_nt00");$r$$.value< 0&&$r$$.khong_am&&($r$$.value=0);$r$$.value_nt<0&&$r$$.khong_am&&($r$$.value_nt=0);$callback$$(null,$r$$)});break;case "7":$r$$.cong_thuc="";$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.ngay=$query_tk_co_tk_no$$.den_ngay;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.bu_tru=$r$$.bu_tru_cong_no;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tk= $r$$.tk;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tu_ngay;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.den_ngay;cktk($condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$r$$.value=$result$$.csum("du_no00");$r$$.value_nt=$result$$.csum("du_no_nt00");$r$$.value<0&&$r$$.khong_am&&($r$$.value=0);$r$$.value_nt<0&&$r$$.khong_am&&($r$$.value_nt=0);$callback$$(null, $r$$)});break;case "8":$r$$.cong_thuc="";$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.ngay=$query_tk_co_tk_no$$.den_ngay;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.bu_tru=$r$$.bu_tru_cong_no;$condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tk=$r$$.tk;delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.tu_ngay; delete $condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$.den_ngay;cktk($condition$jscomp$1_condition$jscomp$2_condition$jscomp$3_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$r$$.value=$result$$.csum("du_co00");$r$$.value_nt=$result$$.csum("du_co_nt00");$r$$.value<0&&$r$$.khong_am&&($r$$.value=0);$r$$.value_nt<0&&$r$$.khong_am&&($r$$.value_nt=0);$callback$$(null,$r$$)});break;default:$callback$$(null,$r$$)}}; module.exports=function($router$$){new controller($router$$,"tmbctc",function($req$$,$callback$$){let $query$$=$req$$.query;if(!$query$$.den_ngay||!$query$$.tu_ngay||!$query$$.id_rptform)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay), id m\u1eabu b\u00e1o c\u00e1o");if(!global.mongoose.Types.ObjectId.isValid($query$$.id_rptform))return $callback$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb"); (new Promise(($resolve$$,$reject$$)=>{rptform.findOne({_id:$query$$.id_rptform}).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(async $_rptform$$=>{$query$$.tu_ngay=moment(new Date($query$$.tu_ngay)).startOf("date").toDate();$query$$.den_ngay=moment(new Date($query$$.den_ngay)).endOf("date").toDate();$query$$.tu_ngay_kt=new Date($query$$.tu_ngay);$query$$.tu_ngay_kt.setYear($query$$.tu_ngay_kt.getFullYear()-1);$query$$.den_ngay_kt=new Date($query$$.den_ngay); $query$$.den_ngay_kt.setYear($query$$.den_ngay_kt.getFullYear()-1);let $report$$=$_rptform$$.report;$report$$&&$_rptform$$.report.length!==0||($report$$=await kbmtmbctc.find({id_rptform:$_rptform$$._id.toString()}).sort({stt:1}).lean());async.mapLimit($report$$,20,($r$$,$c1$$)=>{async.parallel({so_dau_nam:$callback$$=>{calcColumn($r$$,"so_dau_nam",{...$query$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$r$$.so_dau_nam_value=$rs$$.value;$r$$.so_dau_nam_value_nt=$rs$$.value_nt;$r$$.cong_thuc_so_dau_nam_value= $rs$$.cong_thuc;$callback$$()})},so_tang_trong_nam:$callback$$=>{calcColumn($r$$,"so_tang_trong_nam",{...$query$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$r$$.so_tang_trong_nam_value=$rs$$.value;$r$$.so_tang_trong_nam_value_nt=$rs$$.value_nt;$r$$.cong_thuc_so_tang_trong_nam_value=$rs$$.cong_thuc;$callback$$()})},so_giam_trong_nam:$callback$$=>{calcColumn($r$$,"so_giam_trong_nam",{...$query$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$r$$.so_giam_trong_nam_value=$rs$$.value;$r$$.so_giam_trong_nam_value_nt= $rs$$.value_nt;$r$$.cong_thuc_so_giam_trong_nam_value=$rs$$.cong_thuc;$callback$$()})},so_cuoi_nam:$callback$$=>{calcColumn($r$$,"so_cuoi_nam",{...$query$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$r$$.so_cuoi_nam_value=$rs$$.value;$r$$.so_cuoi_nam_value_nt=$rs$$.value_nt;$r$$.cong_thuc_so_cuoi_nam_value=$rs$$.cong_thuc;$callback$$()})},so_nam_nay:$callback$$=>{calcColumn($r$$,"so_nam_nay",{...$query$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$r$$.so_nam_nay_value=$rs$$.value;$r$$.so_nam_nay_value_nt= $rs$$.value_nt;$r$$.cong_thuc_so_nam_nay_value=$rs$$.cong_thuc;$callback$$()})},so_nam_truoc:$callback$$=>{const $_q$$={...$query$$};$_q$$.tu_ngay=$query$$.tu_ngay_kt;$_q$$.den_ngay=$query$$.den_ngay_kt;calcColumn($r$$,"so_nam_truoc",$_q$$,($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$r$$.so_nam_truoc_value=$rs$$.value;$r$$.so_nam_truoc_value_nt=$rs$$.value_nt;$r$$.cong_thuc_so_nam_truoc_value=$rs$$.cong_thuc;$callback$$()})}},()=>{$c1$$()})},function($error$$){if($error$$)return $callback$$($error$$); utils.calcGrid($report$$,"so_dau_nam_value,so_tang_trong_nam_value,so_giam_trong_nam_value,so_cuoi_nam_value,so_nam_nay_value,so_nam_truoc_value",function($rs$$){$callback$$(null,$rs$$.filter($r$$=>$r$$.print!==!1))})})}).catch($e$$=>{$callback$$($e$$||"Kh\u00f4ng c\u00f3 m\u1eabu b\u00e1o c\u00e1o n\u00e0o cho b\u00e1o c\u00e1o n\u00e0y")})})};