kpiplus
Version:
KPI+
1 lines • 1.63 kB
JavaScript
var dkvt=require("./dkvt"),sokho=require("../models/sokho"),arrayfuncs=require("./array-funcs"),async=require("async"),underscore=require("underscore");module.exports=function(n,a){if(n&&n.tu_ngay&&n.ma_vt&&n.den_ngay&&n.id_app){var t=n.ma_dvcs,u=n.ma_kho,_=n.ma_vt,s=n.tu_ngay,e=n.den_ngay,i=n.id_app;async.parallel({dn:function(a){dkvt(n,function(n,t){if(n)return a(n);a(null,t)})},ps:function(a){var l={id_app:i,ngay_ct:{$gte:s,$lte:e},ma_vt:_};u&&(l.ma_kho=u),t&&(l.ma_dvcs=t),n.ma_lo&&(l.ma_lo=n.ma_lo),n.han_sd&&(l.han_sd=n.han_sd),n.ma_tt1&&(l.ma_tt1=n.ma_tt1),n.ma_tt2&&(l.ma_tt2=n.ma_tt2),n.ma_tt3&&(l.ma_tt3=n.ma_tt3),sokho.find(l).lean().exec(function(n,t){n?a(n):a(null,t)})}},function(n,t){if(n)a(n);else{var u=[];t.ps.forEach(function(n){n.sysorder=5,n.bold=!1,u.push(n)}),async.parallel({ton_dau:function(n){n(null,t.dn.csum("ton00"))},du_dau:function(n){n(null,t.dn.csum("du00"))},sl_nhap:function(n){n(null,t.ps.csum("sl_nhap"))},tien_nhap:function(n){n(null,t.ps.csum("tien_nhap"))},sl_xuat:function(n){n(null,t.ps.csum("sl_xuat"))},tien_xuat:function(n){n(null,t.ps.csum("tien_xuat"))}},function(n,t){u.push({sysorder:1,bold:!0,dien_giai:"Tồn đầu kỳ",sl_nhap:t.ton_dau,tien_nhap:t.du_dau,sl_xuat:0,tien_xuat:0}),u.push({sysorder:6,bold:!0,dien_giai:"Cộng phát sinh trong kỳ",sl_nhap:t.sl_nhap,tien_nhap:t.tien_nhap,sl_xuat:t.sl_xuat,tien_xuat:t.tien_xuat}),u.push({sysorder:9,bold:!0,dien_giai:"Tồn cuối kỳ",sl_nhap:t.ton_dau+t.sl_nhap-t.sl_xuat,tien_nhap:t.du_dau+t.tien_nhap-t.tien_xuat}),a(null,u)})}})}else a("Lỗi: Báo cáo này yêu cầu các tham số: tu_ngay,den_ngay,ma_vt,id_app")};