UNPKG

kpiplus

Version:

KPI+

1 lines 1.2 kB
var dkvt=require("./dkvt"),sokho=require("../models/sokho"),dmvt=require("../models/dmvt"),arrayfuncs=require("./array-funcs"),async=require("async"),underscore=require("underscore");module.exports=function(n,a){if(!(n&&n.ma_vt&&n.tu_ngay&&n.den_ngay&&n.id_app))return void a("Lỗi: Báo cáo này yêu cầu các tham số: tu_ngay,den_ngay,id_app,ma_vt");let t=n.ma_kho;t||(t=""),t={$regex:t,$options:"i"};let e=n.ma_vt,u=n.tu_ngay,_=n.den_ngay,d=n.id_app;async.parallel({dn:function(a){let t={ngay:u,id_app:d};n.ma_kho&&(t.ma_kho=n.ma_kho),t.ma_vt=n.ma_vt,dkvt(t,function(n,t){if(n)return a(n);let e=t.csum("ton00"),u=t.csum("du00");a(null,{ton_dau:e,du_dau:u})})},ps:function(a){let t={id_app:d,pn_gia_tb:!1,ngay_ct:{$gte:u,$lt:_},ma_vt:e,nxt:1};n.ma_kho&&(t.ma_kho=n.ma_kho),sokho.find(t).lean().exec(function(n,t){if(n)return void a(n);let e=t.csum("sl_nhap"),u=t.csum("tien_nhap");a(null,{sl_nhap:e,tien_nhap:u})})}},function(n,t){if(n)return void a(n);let u=t.ps.sl_nhap+t.dn.ton_dau,_=t.ps.tien_nhap+t.dn.du_dau;return gia=0===u?0:Math.round(_/u,0),a(null,{ma_vt:e,ton_dau:t.dn.ton_dau,du_dau:t.dn.du_dau,sl_nhap:t.ps.sl_nhap,tien_nhap:t.ps.tien_nhap,tong_sl:u,tong_tien:_,gia:gia})})};