UNPKG

flexbiz-server

Version:

Flexible Server

11 lines (10 loc) 4.56 kB
const sokho=global.getModel("sokho"),socai=global.getModel("socai"),dmyt=global.getModel("dmyt"),gt_thcppstk=global.getModel("gt_thcppstk"),ytdd_dk=global.getModel("ytdd_dk"),ytdd_ck=global.getModel("ytdd_ck"),async=require("async"),_=require("lodash"),moment=require("moment"); module.exports=function($condition$$,$fn$$){if(!($condition$$&&$condition$$.thang&&$condition$$.nam&&$condition$$.id_app))return $fn$$("L\u1ed7i: T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: thang,nam,id_app");var $query_yt_thang$$=Number($condition$$.thang);let $nam$$=Number($condition$$.nam),$tu_ngay$$=moment(new Date($nam$$,$query_yt_thang$$-1,1)).startOf("date").toDate(),$den_ngay$$=moment(new Date($nam$$,$query_yt_thang$$,0)).endOf("date").toDate();$query_yt_thang$$= {id_app:$condition$$.id_app,status:!0};$condition$$.ma_bp&&($query_yt_thang$$.ma_bp={$in:[$condition$$.ma_bp.toUpperCase(),null,void 0]});dmyt.find($query_yt_thang$$).lean().then($yts$$=>{let $data$$=[];async.mapSeries($yts$$,($yt$$,$callback$$)=>{async.series({dk:$callback$$=>{(new Promise(($resolve$$,$reject$$)=>{let $cond$$={id_app:$condition$$.id_app,nam:$condition$$.nam,thang:$condition$$.thang,ma_yt:$yt$$.ma_yt};$condition$$.ma_bp&&($cond$$.ma_bp=$condition$$.ma_bp.toUpperCase());$condition$$.id_lenhsx&& mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond$$.id_lenhsx=$condition$$.id_lenhsx);ytdd_dk.find($cond$$).lean().then($rs$$=>{for(let $dd$$ of $rs$$)$dd$$.dd_dk_nt=$dd$$.tien_nt,$dd$$.dd_dk=$dd$$.tien,$data$$.push($dd$$);$resolve$$($rs$$)}).catch($e$$=>{$reject$$($e$$)})})).then($dddk$$=>{let $cond$$={id_app:$condition$$.id_app,nam:$condition$$.nam,thang:$condition$$.thang-1,ma_yt:$yt$$.ma_yt};$condition$$.ma_bp&&($cond$$.ma_bp=$condition$$.ma_bp.toUpperCase());$condition$$.id_lenhsx&& mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond$$.id_lenhsx=$condition$$.id_lenhsx);$cond$$.thang===0&&($cond$$.thang=12,--$cond$$.nam);ytdd_ck.find($cond$$).lean().then($rs$$=>{for(let $ck$$ of $rs$$)_.find($dddk$$,$d$$=>$d$$.ma_yt==$ck$$.ma_yt&&$d$$.ma_sp==$ck$$.ma_sp&&$d$$.ma_bp==$ck$$.ma_bp&&$d$$.id_lenhsx==$ck$$.id_lenhsx)||($ck$$.dd_dk_nt=$ck$$.tien_nt,$ck$$.dd_dk=$ck$$.tien,$data$$.push($ck$$));$callback$$(null)}).catch($e$$=>{$callback$$($e$$)})}).catch($e$$=>{$callback$$($e$$)})}, ps:$callback$$=>{let $cond$$={id_app:$condition$$.id_app,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$}};$condition$$.id_lenhsx&&mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond$$.id_lenhsx=$condition$$.id_lenhsx);let $md$$;$yt$$.ma_bp_cp&&($cond$$.ma_bp=$yt$$.ma_bp_cp);$yt$$.ma_dt_cp&&($cond$$.ma_dt=$yt$$.ma_dt_cp);$yt$$.ma_phi_cp&&($cond$$.ma_phi=$yt$$.ma_phi_cp);$yt$$.ma_kho_cp&&($cond$$.ma_kho=$yt$$.ma_kho_cp);$yt$$.ma_vt_cp&&($cond$$.ma_vt=$yt$$.ma_vt_cp);$yt$$.th_nvl?($md$$=sokho, _.isArray($yt$$.tk_no)&&$yt$$.tk_no.length>0&&($cond$$.tk_du={$regex:$yt$$.tk_no.reg(),$options:"i"}),_.isArray($yt$$.tk_co)&&$yt$$.tk_co.length>0&&($cond$$.tk_vt={$regex:$yt$$.tk_co.reg(),$options:"i"})):($md$$=socai,_.isArray($yt$$.tk_no)&&$yt$$.tk_no.length>0&&($cond$$.tk_no={$regex:$yt$$.tk_no.reg(),$options:"i"}),_.isArray($yt$$.tk_co)&&$yt$$.tk_co.length>0&&($cond$$.tk_co={$regex:$yt$$.tk_co.reg(),$options:"i"}));$md$$.find($cond$$).lean().then($rows$$=>{let $keys$$=[],$sumfields$$;$yt$$.ma_bp&& $rows$$.forEach($r$$=>{$r$$.ma_bp=$yt$$.ma_bp});$yt$$.th_bp&&($rows$$=$rows$$.filter($r$$=>$r$$.ma_bp),$condition$$.ma_bp&&($rows$$=$rows$$.filter($r$$=>$r$$.ma_bp==$condition$$.ma_bp.toUpperCase())),$keys$$.push("ma_bp"));$yt$$.th_lsx&&($rows$$=$rows$$.filter($r$$=>$r$$.id_lenhsx),$keys$$.push("id_lenhsx"));$yt$$.th_sp&&($rows$$=$rows$$.filter($r$$=>$r$$.ma_sp),$keys$$.push("ma_sp"));$yt$$.th_nvl?($keys$$.push("ma_vt"),$sumfields$$=[{name:"ps_tk_nt",value:"tien_xuat_nt"},{name:"ps_tk",value:"tien_xuat"}]): $sumfields$$=[{name:"ps_tk_nt",value:"tien_nt"},{name:"ps_tk",value:"tien"}];$rows$$.groupBy($keys$$,$sumfields$$,($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$rs$$.forEach($r$$=>{$r$$.ma_yt=$yt$$.ma_yt});$data$$=$data$$.concat($rs$$);$callback$$(null,$rs$$)})}).catch($e$$=>{$callback$$($e$$)})}},function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},$e$$=>{if($e$$)return $fn$$($e$$);$data$$.groupBy(["ma_yt","ma_sp","ma_bp","id_lenhsx","ma_nvl"],["dd_dk_nt","dd_dk","ps_tk_nt","ps_tk"],($e$$,$rs$$)=>{if($e$$)return $fn$$($e$$); for(let $r$$ of $rs$$)$r$$.nam=$condition$$.nam,$r$$.thang=$condition$$.thang,$r$$.id_app=$condition$$.id_app;gt_thcppstk.create($rs$$,$e$$=>{$fn$$($e$$,$rs$$)})})})}).catch($e$$=>{$fn$$($e$$)})};