flexbiz-server
Version:
Flexible Server
12 lines (11 loc) • 5.16 kB
JavaScript
'use strict';const cdvt=global.getModel("cdvt"),dmvt=global.getModel("dmvt"),sokho=global.getModel("sokhott"),ckvtcapphat=require("./ckvtcapphat"),hanmucton=global.getModel("hanmucton"),utils=require("./utils"),async=require("async"),underscore=require("underscore"),moment=require("moment");
module.exports=async($condition$$,$fn$$)=>{$fn$$||($fn$$=()=>{});!$condition$$.ngay&&$condition$$.den_ngay&&($condition$$.ngay=$condition$$.den_ngay);let $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt;$ma_vt$$&&underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:Object.assign($ma_vt$$)});let $ngay$$,$nam$$,$ngay_dn$$;$ngay$$=moment($condition$$.ngay).endOf("date").toDate();if($condition$$.tu_ngay){let $tu_ngay$$=new Date($condition$$.tu_ngay);$nam$$=$tu_ngay$$.getFullYear();
$ngay_dn$$=moment($tu_ngay$$).startOf("year").toDate()}else $nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate();let $id_app$$=$condition$$.id_app;return new Promise(($resolve$$,$reject$$)=>{async.series({ckcapphat:$callback$$=>{setImmediate(()=>{ckvtcapphat($condition$$,($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})},dn:$callback$$=>{setImmediate(()=>{const $c_dk$$={id_app:$id_app$$,nam:$nam$$};$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);
$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error$$,$results$$)=>{if($error$$)return $callback$$($error$$);$callback$$(null,$results$$)})})},hanmucton:$callback$$=>{setImmediate(()=>{const $c_dk$$=
{id_app:$id_app$$};$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);hanmucton.find($c_dk$$).lean().exec(($error$$,$results$$)=>{if($error$$)return $callback$$($error$$);
$callback$$(null,$results$$)})})},ps:$callback$$=>{setImmediate(()=>{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lte:$ngay$$}};$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&
($query$$.ma_tt3=$condition$$.ma_tt3);$condition$$.id_ct&&($query$$.id_ct={$ne:$condition$$.id_ct});sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$});$callback$$(null,$pss$$)})})},ton_kho_mac_dinh:$callback$$=>{setImmediate(()=>{let $query$$={id_app:$id_app$$,ton_kho_mac_dinh:{$nin:[null,void 0,0]}};$ma_vt$$&&($query$$.ma_vt=
$ma_vt$$);dmvt.find($query$$,{ma_vt:1,ton_kho_mac_dinh:1}).lean().exec(($e$$,$rs$$)=>{$callback$$(null,$rs$$)})})}},($ckcapphat_error$$,$data_results$$)=>{if($ckcapphat_error$$)return $fn$$($ckcapphat_error$$),$reject$$(Error($ckcapphat_error$$));$ckcapphat_error$$=$data_results$$.ckcapphat.map($c$$=>{$c$$.ton00_capphat=$c$$.ton00;$c$$.du00_capphat=$c$$.du00;$c$$.ton00=0;$c$$.du00=0;return $c$$});$data_results$$=$data_results$$.dn.concat($data_results$$.ps).concat($ckcapphat_error$$).concat($data_results$$.ton_kho_mac_dinh).concat($data_results$$.hanmucton);
($ckcapphat_error$$=$condition$$.groupBy||$condition$$.groupby)||($ckcapphat_error$$=["ma_vt"]);if(underscore.isString($ckcapphat_error$$))if(0<=$ckcapphat_error$$.indexOf("["))try{$ckcapphat_error$$=JSON.parse($ckcapphat_error$$)}catch($e$$){console.error($e$$)}else $ckcapphat_error$$=$ckcapphat_error$$.split(",");$data_results$$.groupBy($ckcapphat_error$$,"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" "),($e$$,$groups$$)=>
{if($e$$)return $fn$$($e$$),$reject$$(Error($e$$));setImmediate(()=>{$condition$$.canh_bao_ton_min&&($groups$$=$groups$$.filter($g$$=>$g$$.ton_toi_thieu&&$g$$.ton_toi_thieu>$g$$.ton00));$condition$$.canh_bao_ton_max&&($groups$$=$groups$$.filter($g$$=>$g$$.ton_toi_da&&$g$$.ton_toi_da<$g$$.ton00));for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,4),$r$$.du00=Math.roundBy($r$$.du00,0)+Math.roundBy($r$$.tien_nhap,0)-Math.roundBy($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=
0,$r$$.tien_nhap=0,$r$$.tien_xuat=0,$r$$.ton=$r$$.ton00-(0<$r$$.ton00_capphat?$r$$.ton00_capphat:0),$r$$.du=$r$$.du00-(0<$r$$.du00_capphat?$r$$.du00_capphat:0);$fn$$(null,$groups$$);$resolve$$($groups$$)})})})})};