flexbiz-server
Version:
Flexible Server
7 lines (6 loc) • 2.83 kB
JavaScript
'use strict';const cddt=global.getModel("cddt"),Vsocai=require("./vsocai"),async=require("async"),underscore=require("underscore"),moment=require("moment");
module.exports=function($condition$$,$fn$$){if($condition$$&&$condition$$.ngay&&$condition$$.id_app){var $ma_dvcs$$=$condition$$.ma_dvcs;$ma_dvcs$$||($ma_dvcs$$="");$ma_dvcs$$={$regex:$ma_dvcs$$,$options:"i"};var $tk$$=$condition$$.tk;$tk$$||($tk$$="");if(underscore.isArray($tk$$)){let $tks$$;$tk$$.forEach(function($t$$){$tks$$=$tks$$?$tks$$+"|^"+$t$$:"^"+$t$$});$tks$$||($tks$$="^");$tk$$={$regex:$tks$$,$options:"i"}}else $tk$$={$regex:"^"+$tk$$,$options:"i"};var $ma_dt$$=$condition$$.ma_dt;$ma_dt$$||
($ma_dt$$={$ne:""});var $ngay$$=moment(new Date($condition$$.ngay)).endOf("date").toDate();if($condition$$.tu_ngay){let $tu_ngay$$=new Date($condition$$.tu_ngay);var $nam$$=$tu_ngay$$.getFullYear();var $ngay_dn$$=moment($tu_ngay$$).startOf("year").toDate()}else $nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate();var $id_app$$=$condition$$.id_app;async.series({dn:function($callback$$){setImmediate(()=>{cddt.find({id_app:$id_app$$,nam:$nam$$,tk:$tk$$,ma_dt:$ma_dt$$,ma_dvcs:$ma_dvcs$$}).lean().exec(function($error$$,
$results$$){$error$$?$callback$$($error$$):$callback$$(null,$results$$)})})},ps:function($callback$$){setImmediate(()=>{Vsocai.find({id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lte:$ngay$$},ma_dt:$ma_dt$$,tk:$tk$$,ma_dvcs:$ma_dvcs$$},function($error$$,$pss$$){if($error$$)return $callback$$($error$$);$callback$$(null,$pss$$)})})}},function($error$jscomp$0$$,$results$$){if($error$jscomp$0$$)$fn$$($error$jscomp$0$$);else{var $data$$=$results$$.dn;$results$$.ps.forEach(function($r$$){$data$$.push($r$$)});
$error$jscomp$0$$=$condition$$.groupBy||["tk","ma_dt"];if(!underscore.isArray($error$jscomp$0$$))if(0<=$error$jscomp$0$$.indexOf("["))try{$error$jscomp$0$$=JSON.parse($error$jscomp$0$$)}catch($e$$){console.error("err parse json groupby",$error$jscomp$0$$),$error$jscomp$0$$=[$error$jscomp$0$$]}else $error$jscomp$0$$=0<=$error$jscomp$0$$.indexOf(",")?$error$jscomp$0$$.split(","):[$error$jscomp$0$$];$data$$.groupBy($error$jscomp$0$$,"du_no00 du_co00 du_no_nt00 du_co_nt00 ps_no ps_co ps_no_nt ps_co_nt".split(" "),
($error$$,$rs$$)=>{if($error$$)return $fn$$($error$$);$rs$$.forEach($r$$=>{$r$$.du_no00=$r$$.du_no00+$r$$.ps_no-$r$$.du_co00-$r$$.ps_co;$r$$.du_no_nt00=$r$$.du_no_nt00+$r$$.ps_no_nt-$r$$.du_co_nt00-$r$$.ps_co_nt;$r$$.du_co00=0-$r$$.du_no00;$r$$.du_co_nt00=0-$r$$.du_no_nt00;0>$r$$.du_no00&&($r$$.du_no00=0);0>$r$$.du_no_nt00&&($r$$.du_no_nt00=0);0>$r$$.du_co00&&($r$$.du_co00=0);0>$r$$.du_co_nt00&&($r$$.du_co_nt00=0);$r$$.ps_no_nt=0;$r$$.ps_co_nt=0;$r$$.ps_no=0;$r$$.ps_co=0});$fn$$(null,$rs$$)})}})}else $fn$$(Error("H\u00e0m n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 ngay,id_app"))};