UNPKG

flexbiz-server

Version:

Flexible Server

10 lines (9 loc) 3.77 kB
'use strict';const Vsocai=require("./vsocai"),dstktt=require("./dstktt"),async=require("async"),underscore=require("underscore"),moment=require("moment"); module.exports=async function($condition$$,$fn$$){if(!$condition$$||!$condition$$.ngay||!$condition$$.id_app)return $fn$$(Error("ngay and id_app parameter required"));let $ma_dvcs$$=$condition$$.ma_dvcs,$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"};let $id_app$$=$condition$$.id_app;var $app_ngay_chua_ks$$= await global.getModel("app").findOne({_id:$condition$$.id_app},{ngay_ks:1}).lean();if(!$app_ngay_chua_ks$$)return $fn$$("C\u00f4ng ty kh\u00f4ng t\u1ed3n t\u1ea1i");let $ngay_ks$$=moment($app_ngay_chua_ks$$.ngay_ks).endOf("date").toDate();$app_ngay_chua_ks$$=moment($app_ngay_chua_ks$$.ngay_ks).startOf("date").add(1,"days").toDate();let $ngay$$=moment($condition$$.ngay).endOf("date").toDate(),$ngay_tinh_dn$$=$condition$$.tu_ngay&&new Date($condition$$.tu_ngay)<$ngay$$?moment($condition$$.tu_ngay).endOf("date").toDate(): $ngay$$,$ngay_dn$$=moment($ngay_tinh_dn$$).startOf("year").toDate(),$nam$$,$Cdtk$$;$ngay_tinh_dn$$<$app_ngay_chua_ks$$||$ngay_dn$$>=$app_ngay_chua_ks$$?($Cdtk$$=global.getModel("cdtk"),$nam$$=$ngay_tinh_dn$$.getFullYear()):($Cdtk$$=global.getModel("cdtktheongay"),$ngay_dn$$=$app_ngay_chua_ks$$);async.parallel({dn:function($callback$$){setImmediate(()=>{const $c_dk$$={id_app:$id_app$$,tk:$tk$$};$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$nam$$?$c_dk$$.nam=$nam$$:(console.log("lay cdtk theo ngay khoa so", $ngay_ks$$),$c_dk$$.den_ngay=$ngay_ks$$);$Cdtk$$.find($c_dk$$).lean().exec(function($error$$,$results$$){if($error$$)return $callback$$($error$$);$callback$$(null,$results$$)})})},ps:function($callback$$){async.waterfall([function($callback1$$){setImmediate(()=>{dstktt($id_app$$,$tk$$,function($error$$,$accs$$){if($error$$)return $callback1$$($error$$);$callback1$$(null,$accs$$)})})},function($accs$$,$callback1$$){setImmediate(()=>{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lte:$ngay$$}, tk:{$in:$accs$$}};$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$condition$$.ex_id_ct&&($query$$.id_ct={$ne:$condition$$.ex_id_ct});Vsocai.find($query$$,async function($error$$,$pss$$){if($error$$)return $callback1$$($error$$);$callback1$$(null,$pss$$)})})}],function($error$$,$result$$){if($error$$)return $callback$$($error$$);$callback$$(null,$result$$)})}},function($error$jscomp$0$$,$results$$){if($error$jscomp$0$$)return $fn$$($error$jscomp$0$$);let $data$$=$results$$.dn;$results$$.ps.forEach(function($r$$){$data$$.push($r$$)}); $error$jscomp$0$$=$condition$$.groupBy||["tk"];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$$);setImmediate(()=>{$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$$)})})})};